[Newbies] What makes Smalltalk different
bert at freudenbergs.de
Tue Nov 22 19:49:15 UTC 2011
On 22.11.2011, at 19:45, H. Hirzel wrote:
> Yes, a good concise summary.
> A candidate for a module an www.cnx.org. I'd like to put it there.
> Bert, may I ask you to allow me to do that. The license for that web
> site with e-learning modules is
Yes, of course.
- Bert -
> On 11/22/11, Gary Dunn <garydunnhi at gmail.com> wrote:
>> 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
More information about the Beginners