Things that have struck me so far as being awesome about Smalltalk (Sqeak!). - As an object-oriented system, it's staggeringly consistent and pure. EVERYTHING is an object - there's no artifical distinction between objects and primitives, and no "magic" statements or commands for doing "special" things - and the syntax is as clean as the philosophy. - It includes an extensive, platform-independent runtime environment and library, including classes for multimedia and graphics (including GUI building). - Not only that, you have access to all the source code, and the ability to change it. (Take that, Microsoft!) - Not only that, but any changes take effect as soon as you save them. You don't even have to "restart" your "programs"! Seriously! - Every class you write is every bit as much a part of the system as any other class. - You can inspect/explore _everything_, which is incredibly useful for debugging and for learning by example. - Searching and browsing for classes and methods is built in to the system. Instead of having to look up the documentation, you just go straight there. In fact, for API reference material, there is often no need for separate documentation. - The structured browser means you only have to see the stuff you need to see right at that moment. - It is a truly Integrated Development Environment. The system is the language is the IDE is the GUI is the debugger. - Integer arithmetic is done with arbitrary precision. - The powerful Model-View-Controller (MVC) paradigm for GUI development is well supported.