Why learning Smalltalk can never be a waste of time

I get this a lot, people telling me that learning Smalltalk is a waste of time. Here’s my retort…

Many programmers advise beginners to start with an industrial language like Python or JavaScript because you can easily find jobs for it. However, this is a poor excuse for using a language that was not designed for teaching. In the course of your career, you will likely learn and use many programming languages. Your second language could be Python or JavaScript. There is nothing wrong with this strategy.

Python and JavaScript and C were never designed nor intended as teaching languages. They are industrial languages that carry a lot of baggage. No matter how friendly you think Python and JavaScript are, they do have more than their fair share of “warts.” Beginners should not be distracted by their starting language’s oddities and quirks.

Alan Kay and his team at Xerox PARC created Smalltalk in the early 1970s for teaching programming to children. That’s a fine pedigree.

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.

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?

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.

  • 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.
  • Java (1995), Python (1990), JavaScript (1995) are the Top 3 languages, all considered old.

When did “old” ever become a liability, as many opine?

--

--

Mr. Smalltalk: https://medium.com/p/domo-arigato-mr-smalltalk-aa84e245beb9

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store