Reading list

Historically, languages designed for other people to use have been bad: Cobol, PL/I, Pascal, Ada, C++.
The good languages have been those that were designed for their own creators: C, Perl, Smalltalk, Lisp.

(Paul Graham)

How to use the System

If you don't know the Smalltalk language

Another useful starter is the "List of useful selectors"; if used with the SystemBrowser, this list helps you to find out how and where classes and their methods are used. Almost all classes source is there, and most of the stuff is well documented.
Also, all classes include some documentation and examples (usually found in the classes documentation category) which can be viewed with the browser.

Finally, many methods contain a comment which demonstrates a typical use of that method.

Although the Smalltalk language itself is simple and easy to learn, there is a huge class library containing ready to be used building blocks.
Don't get shocked by the number of existing classes and methods - you don't have to know and remember everything by heart (even the authors of those systems need the browser to find their way through ;-).

If you know Smalltalk, but want to see interesting things about ST/X

On the basic class level, Smalltalk/X is pretty much compatible to other Smalltalk implementations. So if you already know collections, streams & friends, read: Also, interesting information is found in: However, for experienced programmers, most of this is well known.

The main differences are found in the implementation of the view classes; it is recommended, to read:

which gives you a step-by-step tutorial on this.

If you want to do some GUI programming, read:

which gives a short introduction on how to use the UIPainter, which is a tool for painting graphical user interfaces.

When programming, start with some of the included graphical demos. Load them using the FileBrowser and have a look at and understand the code.

Nice short demos are found in the directory "doc/coding" and "clients/Demos". Most of those demos try to point out a specific feature. The stuff in "doc/coding" is less oriented toward graphics.

Then turn to the more complex demos - the DrawTool is a pretty (and powerful) application to look at.
Also, the 3D demos found in "clients/GLdemos" invite to play and try new things.

If you know Smalltalk, and want to write primitives and inline C code


The later text also gives you a step-by-step guide and examples of how you can create and include your own binary class libraries.

Look into already existing methods which include primitive code to see concrete examples. A browser on all methods with primitive code is opened by:

	browseMethodsWhere:[:cls :mthd :sel | mthd hasPrimitiveCode]
	title:'methods with primitive code'
(be a bit patient; startup takes a while, since the source of all methods has to be processed...)

If your system supports dynamic loading of binary code (currently SYS5-based, Solaris, Linux and Windows-based systems), primitive (i.e. C-) code can be typed right into the browser and accepted.

If you know Smalltalk, but are interested in its history and some philosophic background

Alan Kay wrote an interesting paper on the early history of Smalltalk: "The Early History of Smalltalk (pdf)"

Copyright © 1996-2017 Claus Gittinger Development & Consulting, all rights reserved
Copyright © 2003-2017 eXept Software AG, all rights reserved


Doc $Revision: 1.52 $ $Date: 2018/05/06 15:47:14 $