Smalltalk/X Introduction & Tutorial

Share in the excitement of discovery
without vain attempts to claim priority.


[under construction] This document is being prepared - it is not complete.



This document will give you a short step-by-step introduction to the Smalltalk language in general and the Smalltalk/X integrated programming environment in particular.

The tutorial is meant for those who have never worked with a Smalltalk system before - if you have, you may skip this document.

Notice that although these texts are available on the web and can be viewed with a regular webBrowser (Mozilla, Opera etc.) they are interactive documents containing executable code for execution within the ST/X help-browser.
Interactive examples, buttons, automatic opening of example windows as present in the texts can only be executed if this text is viewed with the ST/X help system.

If you are reading this via the internet in a regular web browser, we highly recommend that you download the Smalltalk/X package and read these documents there (it's much more fun if you click on a coding examample, and the underlying code is executed).

Different Smalltalks and the Validity of this Tutorial

All of the language and non-GUI related information in this tutorial is pretty much valid for all of the Smalltalk implementations (Dolphin, GNU-ST, Squeak, ST/X, VA, VisualWorks and others). They all use the same language syntax and even most of the class-libraries and set of operations are more or less the same. However, they do differ in their GUI-libraries and tools.
Consider them as systems using the same language, almost the same standard library, but different GUI libraries. After all, in C, people also use other libraries beside Xlib and Qt. Also, even in Java, there is AWT, Swing and the Eclipse Toolkit. However, in Smalltalk, even those differences are probably smaller than those between Visual-C, Eclipse, Vi or Emacs.

Also, the set of available tools and the "way programs are made" is very similar among all Smalltalk systems, and also very different to the way things work in almost every other language system and IDE. The single most striking difference is, that you develop, execute and debug your program WITHIN the IDE itself. As you add new code and functionality, this immediately becomes part of your working environment and is immediately usable. There is no separate executable. The new code lives in the same object-space as all the basic classes, the compiler, the widgets and even the pieces which make up the IDE itself. If your program needs text-edit capabilities, simply instantiate a TextEditor; if it needs to generate and compile a piece of Smalltalk-code, simply call for the compiler. Even a debugger or browser can be opened via a simple message send. They are all there for you to be used. On the other hand, this also makes it very easy to extend, fix or adapt the IDE itself according to your needs.

If you know one Smalltalk, you will, with a high probability be able to use the others in relatively short time, because they share the same basic "philosophy".

Therefore, give it a try and don't worry - it's worth learning it, you will get so much insight into the OO-world, that even if you will not use Smalltalk at work, it will give a lot of inspiration, ideas and after all, pure fun.

It has never been easier to simply try out an idea than in Smalltalk !

Books on Smalltalk

A number of books on Smalltalk are avaliable for free and included in the Smalltalk/X distribution for your convenience: books.
Google for "free smalltalk literature" or "Stephane Ducasse literature" should give you many more hits.

Continue in "Getting Started".

Copyright © 1996-2009 Claus Gittinger Development & Consulting
Copyright © 1997-2009 eXept Software AG

<cg at exept.de>

Doc $Revision: 1.23 $ $Date: 1999/05/27 13:56:17 $