They should teach Smalltalk because:

  1. It’s the ideal teaching language for beginners.
  2. It’s the ideal language for teaching object-oriented programming, the most widely used paradigm in the industry.
  3. It’s a practical industrial language, not only an academic language. It’s been used commercially around the globe for over three decades.
  4. It’s the most productive programming language in the world, thanks to its live coding & debugging IDE/runtime. This makes Smalltalk ideal for startups and for prototyping applications.
  5. It has a rich heritage.

There is a strong precedent for not teaching Java/Python/C++ to freshmen students. For several decades, MIT taught Scheme in their introductory programming course. They even wrote a textbook for it (SICP). Scheme served their students well. Why not Smalltalk?

Moreover, Smalltalk is used to teach freshmen in some European universities, too. Smalltalk isn’t that different from Scheme. Both are very small, simple languages that are ideal teaching languages. Whereas Smalltalk is very readable, Scheme’s syntax can be rather off-putting.

I don’t think I’m asking universities to “drop everything.” I’m asking them to use a better language, a teaching language, to teach their freshmen. Everything else can stay the same.

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