[NTLK] Smalltalk and OO

From: Mike O'Brien (obrien_at_leonardo.net)
Date: Fri Jul 13 2001 - 04:55:11 EDT


        I've found it confusing in the past that a language translation
program for the Newt has the same name (almost) as the first object-oriented
programming language. This very subject came up this evening at our latest
wonderful six-hour Los Angeles Newton Group meeting.

        To lay it out for newbies:

        Smalltalk (as opposed to Small Talk for the Newt) was invented by
Alan Kay and others at Xerox Palo Alto Research Center an ungodly number of
years ago. It is the first object-oriented programming language (*).

        David Unger, of Stanford, developed a new language, Self, which
is also object-oriented, but introduced the notion of "templates" as a
replacement for "classes". Last I checked, Self is still available for
download from Stanford, though it is no longer an active project.

        Walter Smith used ideas from Self in developing the NewtonScript
language. Smith's main contribution was to make inheritance two-dimensional,
across both template ancestry and memory type. This single insight, though
invisible to the user, is responsible for much of the Newton's power.

        (*) Smalltalk is still very active in niche applications, primarily
in the financial services industry, where turnaround time from concept to
working implementation is the primary cost driver. The language became rather
of a mess when it was first commercialized by ParcPlace Systems, a spinoff
from PARC, although virtual machine development was considerable.

        Recently, some of the original Smalltalk team, then at Disney,
reimplemented the original version and architecture of Smalltalk in a
language called Squeak. Squeak is, largely, the same class structure as
Xerox PARC Smalltalk, before ParcPlace tried to commercialize it. It is
open source software, so it runs on everything in sight and is available
for free. You can check it out at http://www.squeak.org .

        Personally, if someone without object-oriented experience (and I
really can't say I count C++ as object-oriented) is seriously interested
in learning to program in NewtonScript, I strongly suggest to them that they
play with Squeak first, to get OO concepts down, and then undertake
NewtonScript. The NewtonScript development environment is a dream compared
to most others, but having to download stuff into the Newt is really nowhere
near as convenient as programming in Squeak. Also, if you blow up the
Squeak virtual image, you really don't care, but restoring a Newt is a pain.

Mike O'Brien

--
This is the Newtontalk mailinglist - http://www.newtontalk.net
To unsubscribe or manage: visit the above link or
	mailto:newtontalk-request_at_newtontalk.net?Subject=unsubscribe



This archive was generated by hypermail 2.1.2 : Sun Sep 09 2001 - 19:49:48 EDT