Smalltalk has reached an important milestone. This month, the language entered the Top 20 in no fewer than three major programming language rankings: TIOBE (#18), IEEE Spectrum (#17), and PYPL (#15). The programming community is finally recognizing what a magnificent language Smalltalk is.
Moreover, in last month’s StackOverflow survey, Smalltalk became the #1 “Most Loved” programming language. Most Loved means that programmers who’ve used the language continue wanting to use it.
Also, at Slant, the product recommendation community that mines for the wisdom of the crowd, Smalltalk is #1 in two key questions:
- What are the “best” (productivity-enhancing, well-designed, and concise, rather than just popular or time-tested) programming languages?
- What is the best programming language to learn first?
Getting Its Dues
It’s by time that Smalltalk received its dues. Smalltalk is a fabulous language for many reasons:
- It is supremely simple and elegant. The complete syntax can fit on a postcard!
- It is much easier to learn than even Python, the language most frequently recommended to beginners.
- It is unbelievably expressive with its combination of object-oriented purity and lambda functions (closures). Smalltalk’s object implementation has no peer.
- It has a built-in live coding IDE/runtime that makes Smalltalk the most productive programming language in the world.
- It has been modernized for the Twenty-First Century through the Pharo project, which at 10 years old is essentially a new, contemporary programming language.
- Smalltalk can be used for front-end web development through PharoJS and Amber.
- Smalltalk can be used for server-side web development using the Seaside and Teapot frameworks.
- Smalltalk has been commercially used around the globe for nearly four decades, and is still going strong. Cincom, Instantiations, and GemTalk are three major Smalltalk vendors. Their customers include the likes of JPMorgan, Desjardins, UBS, Florida Power & Light, Texas Instruments, Telecom Argentina, Orient Overseas Container Lines, Siemens AG, and so on. Check out ALLSTOCKER and ATMs in Moscow streets for Pharo.
- Smalltalk has been used by governments around the world. In the early 2000s, the U.S. joint military used Smalltalk to write a million-line battle simulation program called JWARS. It actually outperformed a similar simulation called STORM written in C++ by the U.S. Air Force.
- Smalltalk is used by Communications Security Establishment (CSE), Canada’s national cryptologic agency.
And finally, Smalltalk is extremely versatile. For example:
- Smalltalk is good for data science and numerical computing, thanks to PolyMath and Roassal (also see Numerical Methods with Pharo)
- Smalltalk is good for Internet of Things (or IoT) applications.
- Smalltalk is good for ERP (enterprise resource planning)
- Smalltalk is good for machine learning and neural network processing
- Smalltalk is good for natural language processing
- Smalltalk is good for virtual reality (example, 3D Immersive Collaboration)
- Smalltalk can even be used to script the Unreal game engine
- Smalltalk is being used to fight Ebola!
- Smalltalk is used in wide-scale data visualization for medicines in 16 countries — check out Grafoscopio
Isn’t it time you took a second look at this venerable language? Seriously.