
Photo credit: ronstik / 123RF Stock Photo.
There are many programming languages today vying for your consideration. New languages like Ceylon, Crystal, Dart, Elixir, Elm, Go, Haxe, Julia, Kotlin, Rust, Swift, and TypeScript seem to be popping up every month.
Even some of the not-so-new languages that are decades old are still grabbing attention.
So it got me wondering, what makes a programming language, regardless of age, trendy and exciting? Why does 27-year-old Haskell still get tongues wagging? How can 31-year-old Erlang instill passion after all these years? What’s with the love for 24-year-old Lua? F# is still fondly discussed despite the 12 years of history behind it.
Of course, one of the main reasons is the growing interest in functional programming over the past several years. Thus, people are examining all of their functional options, including languages that predate Java.
Programming languages are trendy for various reasons:
- Erlang is notable for OTP (open telecom platform) and its Erlang runtime system (BEAM).
- Clojure capitalizes on the power and elegance of Lisp.
- Lua is popular in the game industry as an embeddable language.
- Kotlin and Scala attempt to improve on Java, the most popular programming language on the planet.
- Dart and Elm offer alternatives to widely despised JavaScript.
- Rust promises memory safety.
- Julia is a technological tour de force.
Except for functional programming, I really don’t see a pattern. Even 7-year-old Go has risen to the top of the language charts because it’s simple and minimalist, without any language design innovation whatsoever.
So what I can’t explain is the fact that Smalltalk gets so little attention. It has everything going for it:
- Smalltalk is one of the smallest, simplest, and most elegant programming languages ever created. Its entire syntax can fit on the back of a postcard. This makes it easy to learn. And because of this, it presents extremely low, if not nonexistent, cognitive friction while coding.
- Smalltalk has a wonderful “live coding and debugging” IDE/runtime environment that makes programming exceedingly quick and productive. You can make live changes to a running program and immediately see the results. This almost completely eliminates the edit-compile-test-debug cycle that hampers nearly all other programming languages.
- Smalltalk is one of the most productive programming languages. More than twice as productive as Python and Ruby and more than three times as productive as JavaScript.
- Despite its relative obscurity, the language is practical. It’s been used commercially for over three decades. Even JPMorgan, Desjardins, UBS, Florida Power & Light, Texas Instruments, Telecom Argentina, Orient Overseas Container Lines, and Siemens AG use it.
- Smalltalk is scalable. In the early 2000s, the US joint military used the language to write a million-line battle simulation program called JWARS. It actually outperformed a similar simulation called STORM written in C++ by the US Air Force.
- It has a rich heritage. It was the first programming language to popularize OOP, and it remains the finest example of an OOP language (which is why it spawned a whole generation of OOP languages like Java, Python, PHP, Ruby, etc.).
- Smalltalk continues to be actively developed, especially through the Pharo project, Inria, Amber for the web, and Redline for the JVM, modernizing it for the twenty-first century.
- It also has first-class functions and closures, so it’s good for functional programming, too.
Smalltalk is extremely versatile (being a general-purpose programming language and all). Here are a few of its uses:
- Data science and numerical computing, thanks to PolyMath and Roassal.
- IoT and robotics (e.g. Pharo Pi and ESUG on robotics)
- ERP (enterprise resource planning)
- Machine learning and neural network processing
- Natural language processing
- Virtual reality (e.g. 3D Immersive Collaboration)
- Scripting the Unreal game engine
- Fight Ebola!
- Wide-scale data visualization for medicines in 16 countries
- Write cross-platform mobile apps
- Server-side web development
And I’ve just barely scratched the surface.
Stay updated on the go with our mobile app.
Get latest insights with smoother, more personalized experience through TIA mobile app.







