[Newbies] What makes Smalltalk different

H. Hirzel hannes.hirzel at gmail.com
Tue Nov 22 20:34:59 UTC 2011


Thank you, Bert!
Now available under http://cnx.org/content/m41628/latest/ with a link
to an existing module http://cnx.org/content/m36331/latest/

--Hannes

On 11/22/11, Bert Freudenberg <bert at freudenbergs.de> wrote:
> 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
>> http://creativecommons.org/licenses/by/3.0/
>>
>> --Hannes
>
> 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
>>> http://openslate.org
>>>
>>> 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
>>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>>>
>
>
>
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>


More information about the Beginners mailing list