Question: Why hasn’t anyone made a programming language that has super simple syntax unlike our current programming languages (like Python or Java) which have more complicated syntax?
Someone has. His name is Alan Kay.
In the 1970s, the brilliant and visionary team of Alan Kay, Dan Ingalls, and Adele Goldberg at Xerox PARC developed a language called Smalltalk. It was so small and simple that the complete syntax could fit on a post card!
The language was designed to investigate teaching programming to children. Nevertheless, Smalltalk turned out to be incredibly powerful and capable.
In fact, in the 1990s, Smalltalk became the most popular OOP language after C++. According to a 1995 IDC report, OOP language market shares were:
- C++ — 71.3%
- Smalltalk — 15.1%
- Objective-C — 5.7%
- Object Pascal — 4.2%
- CLOS — 2.5%
- Eiffel — 1.1%
- all others — 0.2%
Here’s a page from Computerworld, November 6, 1995, showing Smalltalk and C++ duking it out:
Smalltalk was so good for business use that IBM chose it as the centrepiece of their VisualAge enterprise initiative to replace COBOL:
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. That by itself was an astonishing testament to the capabilities of the language.
Smalltalk was used by JP Morgan to write their massive financial risk management system called Kapital. In fact, Smalltalk is quite popular in the financial industry; other users include Desjardins and UBS.
Other major users include Florida Power & Light, Texas Instruments, Telecom Argentina, BMW, and Siemens AG.
In my home country, Smalltalk is used by Communications Security Establishment (CSE), Canada’s national cryptologic agency.
Smalltalk is endlessly versatile:
- 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 and robotics (for example, Raspberry Pi and ESUG on robotics)
- 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
- Smalltalk can be used to write front-end web apps, and cross-platform mobile apps using Apache Cordova
- Smalltalk is good for server-side web development, thanks to the Seaside web framework and the Teapot micro framework
And I’ve just barely scratched the surface!
All of this coming from a language that is so simple and easy to learn, I recommend it to children age 10 and up. It’s the best language to grow into, after the child is done with MIT’s Scratch.
And here’s the bonus: Smalltalk is provably the most productive programming language in the world.
Question: What is the worst bug in a programming language itself?
WTF?!! Excuse me, but why should I want to use a language whose spec is so obtuse that I can’t easily understand the reasoning behind it, or how things are supposed to work? What kind of language requires so much special scrutiny, so much extra effort to understand?