Why should you explore Smalltalk…? Because, it is a simple language, with a powerful environment. One of the world’s largest Financial Risk Management and pricing system, Kapital from JPMorgan, written in Visual Works and GemStone/S, Orient Overseas Container (OOCL) Line’s IRIS-2, written in GemStone/S Smalltalk etc are just some of its major real world applications. OOCL was a finalist for the coveted Smithsonian Institution Award for Innovation in 1999 for the groundbreaking achievements with IRIS-2. To elaborate, the following are good reasons about this unique programming language and development environment.
The rules of the language are very simple.
The underlying concepts are simple and uniformly applied.
There is no separation between the language and the programming environment the environment itself is a live universe of objects.
Code written by a knowledgeable Smalltalk programmer is very compact and readable.
The source code is a part of the environment and is thus constantly available for study, extension, and modification. It explains functionality better and more accurately than any other documentation and access to it speeds up development.
Smalltalk code has been shown to be consistently more concise (in terms of lines of code) than in almost any other language. This improves readability and development.
The development environment is very powerful.
The language and the development environment are reflective, which means that you can pro-grammatically access information about its structure, implementation, and even run-time operation, and extend or modify them as you wish even at run time.
All compilation is incremental and there is no linking process so that any code or even a piece of a program can be executed instantaneously at any time. This makes for very fast development and testing, encourages experimentation and improvement, and speeds up development.
Because of the nature of the compilation process, you can interrupt any application at any point, inspect the code and the objects, modify any of them, and continue running the application without recompiling it.
Smalltalk is strongly typed, meaning that you cannot make an object execute a message that it was not programmed to understand.
Smalltalk is dynamically typed, which means that when your program needs to evaluate a message, it finds its definition at run-time rather than at compilation time. This makes the language very flexible and Smalltalk applications very extendible.
Smalltalk code is very portable and applications can run without any change on many different platforms.
The language and the environment are very mature. They have been developed over a period of ten years between 1970 and 1980 in a research setting isolated from commercial pressure and evolved into a very well thought-out structure before being made available for commercial use.