Recs.
Updated
Smalltalk is an object-oriented, dynamically typed, reflective programming language. It was designed and created in part for educational use.
SpecsUpdate
Pros
Pro As a first language, almost forces you to learn OO design.
Hybrid languages (e.g., Java, C#, C++) make it easy to slip into procedural thinking. Smalltalk's pure OO approach makes it hard not to think in object-oriented terms. In addition, since the entire IDE and runtime components are there in the image for you to browse, you have plenty of examples of good OO design to learn from.
Pro Lets you inspect and manipulate live objects
Python has an interactive mode that lets you inspect and manipulate live objects. The docstring feature and dir()
function make Python better at this than many comperable scripting languages. If you like that about Python, you'll love Smalltalk, which does this kind of thing even better.
Pro Extremely simple grammar
All the syntax famously fits on a postcard. This makes Smalltalk one of the easiest languages to learn, even easier than Python, so you can quickly move on to learning Smalltalk's awesome environment and tools. Unlike overly complicated languages (like JavaScript and C++) Smalltalk gets out of your way so you can focus on the problem at hand.
Pro Powerful integrated debugger
You can edit code and swap it in while the your program is still running after an exception has already been signaled, or restart from anywhere in the call stack. You can inspect and modify the state of any object. Some Smalltalkers write unit tests and then program exclusively in the debugger.
Pro Superb Integrated Development Environment (IDE)
All tools (Inspector, Browser, Debugger etc.) are written in Smalltalk and are live objects in the environment. All sources are present, so that the tools can easily be studied, changed and experimented with.
The same goes for the other components like the compiler, OS-Integration etc.
Cons
Con Not common
Smalltalk missed an opportunity to become mainstream when its implementations cost $5000 per seat versus $0 open source. New open source implementations (Pharo, Squeak) have minor corporate backers but not yet an IT behemoth. Direct jobs are scarce (but indirectly Smalltalk experience is very well regarded). Online communities are relatively small.