I get this a lot, people telling me that learning Smalltalk is a waste of time. Here’s my retort…
#1: Your first programming language will never be your only programming language.
#2: The best way to learn how to program is with a good teaching language.
Alan Kay and his team at Xerox PARC created Smalltalk in the early 1970s for teaching programming to children. That’s a fine pedigree.
#3: There is no better way to learn about object-oriented programming (OOP).
The universal consensus is that Smalltalk is the best OOP language there is. It was the first programming language to popularize OOP back in the 1980s. It has directly influenced the design of nearly every OOP language we use today, including Python, Ruby, PHP, Objective-C. Since OOP is so widely used throughout the IT industry, and since it is so misunderstood by many developers, it is best to lay a solid foundation for object-oriented programming before moving to other languages.
#4: It’s a great hobbyist language.
Even if you never find a Smalltalk job, Smalltalk is a fantastic hobbyist programming language. It’s loads of fun! I know many developers who use Java, C++, etc. in their “day job” but use Smalltalk for personal projects. How can a hobby or recreation be a waste of time?
#5: Pharo is a contemporary language (created in 2008).
Smalltalk-inspired Pharo is every bit as relevant as other new contemporary languages such as Clojure, Crystal, Dart, Elixir, Elm, Haskell (1990!), Julia, Nim, Rust. Aren’t any of these languages worth learning?
For more information, read Why Pharo Might be the Future of Software Development and Smalltalk May Be the Nikola Tesla of the IT Industry.
#6: Old languages still have great value.
- Lisp (1958) can be found in Clojure (2007).
- Forth (1970), a lovely language, is often used for embedded applications.
- C (1972) is still very commonly used for systems programming.
- Smalltalk (1972) can be found in Pharo (2008).
- Ada (1980) is still immensely popular with the U.S. military-industrial complex.
- C++ (1980-1985) is very old.
- Haskell (1990) is an old but modern FP language.
- R (1993) is highly valued for data science and machine learning.
When did “old” ever become a liability, as many opine?