PocketSmalltalk for PalmComputing platform.
GemStone Smalltalk Non-Commercial version available gratis for Linux...
An extended Smalltalk running on .NET, Mac OS-X, Linux.
The creative people that work with Smalltalk have initiated some innovative development techniques.
This is a software development methodology oriented towards the use of lightweight teams, unit testing, programming in pairs, communal ownership of code, and customer input to motivate code improvement; most commonly used with Smalltalk.
Extreme Programming Explained: Embrace Change
This is the book (from Addison Wesley) on Extreme Programming.
Self is an object oriented language based on the concepts of:
Prototypes
Prototypes combine inheritance and instantiation to provide a framework that is simpler and more flexible than most object-oriented languages.
Slots
Slots unite variables and procedures into a single construct. This permits the inheritance hierarchy to take over the function of lexical scoping in conventional languages.
A data slot is the equivalent to a variable; messages are sent to an object to request/update its value.
A method slot is the equivalent to a function/procedure.
To do a "function call," you would send messages to an object to fill in its arguments, and then send a message that asks it to invoke its methods on those arguments.
Behaviour
Finally, because Self does not distinguish state from behavior, it narrows the gaps between ordinary objects, procedures, and closures.
It is probably most reminiscent of Smalltalk, in that it lacks a special syntax for flow control (e.g. - If/Then/Else). Unlike Smalltalk, it eschews classes in favor of prototypes;