Can This Man Spark a Renaissance for the Smalltalk Programming Language?
When it comes to programming languages, Smalltalk is about as old as it gets: It was first developed in 1969, with the first stable release coming out by 1980. But one man has taken it upon himself to lead this ancient computer language to new popularity — a retired software developer with over 30 years of IT industry experience, who now calls himself “Mr. Smalltalk.”
“What needed to be done, I surmised, was to appeal to people on an emotional basis,” Eng wrote in October, “the way it’s done in marketing and advertising.” Part of his strategy apparently involved collecting inspiring promotional banners with the tagline “Make Smalltalk Great Again.”
But describing his adventures as a Smalltalk evangelist, Eng remembers his first big success: attracting nearly 18,000 views to his nonprofit’s very first post, “The Smalltalk Revolution.”
Eng’s post first began by calling Smalltalk one of the best” object-oriented programming languages, and citing its influence on later languages like Ruby, Groovy, Scala, Dart, and Objective-C. And he pointed out long-standing vendors of Smalltalk-based solutions like Cincom, whose cross-platform Smalltalk implementation is used by a company responsible for quality assurance on 95 percent of the world’s french fries.
That inaugural post also acknowledged the open source Pharo project, which combines the language with a powerful “live programming” IDE, as well as Smalltalk’s role in Amber and the Seaside framework.
But Eng also tried to remind readers of Smalltalk’s other shining virtues. He described its simplicity. (“The entire language specification fits on a postcard!”) He extolled its elegance. (“Through good naming conventions in the classes and methods, Smalltalk code reads almost like English.”) But most importantly, he explained the ease of prototyping with its live programming environment — and its often overlooked significance:
Due to unfortunate historical happenstance, the IT world glommed onto file-based, statically executed programming using text editors (such as emacs and vi ), textual compilers, loose collections of tools, and isolated debugging techniques… For far too long, they’ve been mired in energy-sapping, under-productive, antediluvian methods based on ancient file systems and complicated, loosely integrated tools. The solution, the recipe for change, has been in front of them for nigh four decades.
Mocking “non-dynamic programming methods,” Eng argued that Smalltalk offers “a new way to view the process of software programming,” and urged developers and their managers to modernize their workflows. (Or, in his words, to “Join the Revolution.”)
“Smalltalk’s days are not past; it was simply hiding in plain sight, waiting for enlightenment.”
If the post really did trigger a revolution, it’s a small one. Two years later, a Facebook page for the Renaissance shows just 84 likes, and a Twitter feed pulled in 142 followers. And that spring Eng tried to crowdfund a Smalltalk programming competition for high school students but wasn’t able to raise enough money for it on Kickstarter.
“The competition would’ve been glorious…” he wrote it the campaign’s final update, adding “But fear not, I haven’t given up yet.”
And then he attracted some influential supporters. Eng was invited to write an article for TechBeacon, a site for tech professionals sponsored by Hewlett Packard Enterprise. It eventually became the site’s second-most popular app dev article of 2016 (racking up over 20,000 views) after attracting 115 upvotes on Hacker News. It appealed to developer’s egos, arguing that learning Smalltalk could actually make you a better developer.
Why? Because Smalltalk doesn’t just introduce developers to the forefather of many future languages. It’s also “purest” object-oriented language, Eng argues. The only way it works is through domain-specific languages, “so programmers have to focus on the problem domain using a language and notation that is natural to that domain.”
Smalltalk’s key advantage as a productive language and learning tool is that it strips away most, if not all, of the cognitive stress in mainstream object-oriented languages such as Java… It simply gets out of your way so that you can focus all your attention on the problem or application at hand… It is often said that programming in Smalltalk or Python is rather like Zen; your mind just flows effortlessly with the task. This is the beauty and value of language simplicity, and Smalltalk has this in spades.
Java has its primitive data types, but not Smalltalk, where everything is an object — even your code, Eng points out, saying this simplicity makes Smalltalk the perfect language for teachers — or for anyone who wants to improve their programming skills. “Smalltalk, by virtue of its object purity and consistency, will give you a profoundly better understanding of object-oriented programming and how to use it to its best effect.”
And while many programmers are familiar with the system images used for OS virtualization, Smalltalk actually uses images to preserve the state of your program during execution. There are lots of metaphors for this — it’s like a restartable core dump, for example, or a web page’s document object model.
And finally, Eng writes, Smalltalk is fun. “When you use the many facilities of modern software development such as the JVM, Eclipse IDE, closures, ‘live coding,’ MVC, TDD, VMware, and even the plain old web app, think back to their origins in Smalltalk and hold a greater respect for what you’re doing… Working with the language that originated all of these great features and technologies provides a unique opportunity to greatly improve your knowledge, your mental acuity, and your productivity as a software developer.”
Eng eventually stepped down as the official campaign director of the Smalltalk Renaissance in 2015, though judging by his Twitter feed, he still seems to be keeping up a steady stream of evangelism. For New Year’s Day, he even tried penning a satirical science fiction story about a world blighted by “the ECMA Perversion.” (“Planes fell out of the sky. Self-driving cars could no longer drive.”) His dystopian story ends in the catacombs of a futuristic library with data stored on crystals — one of which can be decoded using the passphrase “MakeSmalltalkGreatAgain…”
But has he saved Smalltalk? “Certainly, many more people today are aware that Smalltalk is alive and kicking than two years ago,” Eng wrote in his essay. “Thousands of people at Reddit are aware. Thousands at Medium and Hacker News and Quora, too.”
And he also took it upon himself to answer questions on Quora about things like how to learn programming, inserting Smalltalk into his answers “at every opportunity”.
“With a total of 3.3 million answer views (and over 600,000 in the past month alone), a great many people are seeing Smalltalk mentioned…”
“The battle for hearts and minds continues.”