[Newbies] What makes Smalltalk different

Gary Dunn garydunnhi at gmail.com
Tue Nov 22 17:44:24 UTC 2011

Well put! Please can someone with permissions capture this on our swiki?

Gary Dunn
Open Slate Project

On Nov 22, 2011 1:35 AM, "Bert Freudenberg" <bert at freudenbergs.de> wrote:

(This is from an answer to a question on StackOverflow
http://stackoverflow.com/questions/8222489 It might be helpful to some
newbies on this list so I'm re-posting)

Q: (paraphrased) I want to learn Smalltalk but without the baggage of an
IDE. Just let me use my favorite text editor, that's much easier.

A: It is not helpful to learn Smalltalk as just another language. You would
be missing the point entirely.

Smalltalk's graphical environment is not just an IDE. The core of the
system is simply objects. The interface provides various ways to create
objects and interact with them. The language is just a convenient way to
create messages to the objects. It is secondary to the objects themselves.

In other OO languages, you write your program, then you run it, which
creates objects in memory. Not so in Smalltalk. You create objects in
memory (e.g. class objects) and then send messages to e.g. add methods. But
a class object is only created once, not every time you "run your program".

There is no such thing as "your program", in fact. There is no "main". It's
just a world of objects, some longer-lived, some temporary. In fact, in the
system there are objects that were created 30 years ago. Literally. The
objects are just frozen to disk as a memory dump (a file which we call
"image") and unfrozen later (possibly on a different machine).

That image, the world of objects, is the primary artifact in Smalltalk.
There is a sources file, yes, but that's just a database of text snippets
to not take up so much RAM. You cannot edit this file by hand (objects in
the image use absolute file offsets into the sources file). You cannot
re-create the system from the sources file - the system was bootstrapped a
long time ago and from then on only modified.

It's true that superficially the Smalltalk GUI looks just like another IDE.
No coincidence - Eclipse was originally written by Smalltalkers in
Smalltalk. But there is the crucial difference that in regular IDEs you
just manipulate text files. A text editor is a valid alternative for that.
In Smalltalk, the GUI manipulates objects in memory. A text editor can not
do that.

And as for what Smalltalk to use, I would recommend Squeak. Very friendly
community, very nice environment, and subscribing to the original Smalltalk
vision of creating a great personal computing environment for everyone.

- Bert -

Beginners mailing list
Beginners at lists.squeakfoundation.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20111122/5ef89e87/attachment.htm

More information about the Beginners mailing list