Smalltalk was one of the earliest object-oriented (OO) languages (with others like Simula and Eiffel) and can be said to be extremely "pure" in an OO sense:
- Everything is an object and objects are only communicated with via the sending of messages
- No primitives (no
int
s, boolean
s etc)
- No control structures (no
for
, while
, if
etc). Sounds impossible but it s true!
- No statics
It also pioneered some other, now common, stuff:
- the virtual machine (and JIT compilation)
- Debugging by inspection
- "Hotswapping" running code
- the modern IDE
- Closures
- Duck typing
- Model-View Controller (MVC) architecture for UIs
- Test-driven development (TDD) and agile methodology
And there are other things connected with Smalltalk which didn t really make it into the mainstream:
- "Image"-based system rather than file-based.
- Object-oriented databases
And it s fair to say that the Java collections API and the apache-commons collections API are heavily influenced by Smalltalk.
I wouldn t say that you should learn Smalltalk per se, but a familiarity with the fundamentals of these features (now present in many other languages) is surely advantageous to you.
Note that there are currently only 123 questions on here about the language, which was originally intended as an educational language (i.e. aimed at children) by its creator, Alan Kay. It is not particularly heavily used anymore. That s not to say it isn t used. JPMorgan, for example, has a large exotic derivatives risk-management system written in it.