3 ms·
In my eyes, there is a small group of languages everyone should get familiar with, who wants to understand the fundamental programming principles. It also makes
by _ph_ 9y ago
In my eyes, there is a small group of languages everyone should get familiar with, who wants to understand the fundamental programming principles. It also makes one understand how other language support those principles and how to best use them.
Smalltalk certainly belongs to that group of languages (others would be Scheme/Common Lisp). Smalltalk is the fundamental OOP language. Everything is an object. Classes, numbers, booleans, all can have methods. Actually another interesting property of Smalltalk is, that constructs like if/then or for loops are just methods on the boolean and integer classes respectively.
Being dynamically typed, Smalltalk also does not force you into inheritance just to satisfy a type signature. Java got that almost right with the interfaces, unfortunately too many libraries rather require you to inherit from a base class instead of implementing an interface - Go put that to extremes by only offering interfaces but no inheritance.
Finally, Smalltalk is always integrated into some sort of IDE and class/object browser, mostly doing image-based development.
So, even if one is never going to do a larger project in Smalltalk, I can only recommend getting familiar with Smalltalk and its concepts, it changes the way how one thinks about OOP in other languages too.