A Programming Language Endgame

The direction of evolution of current mainstream languages is not clear. The Internet is full of hype-driven bullshit. For example, “future programming languages must have first-class support for AI.” Seriously?!

A ball made of grape wines

A ball made of grape wines, Derbent.

It happens because programmers often struggle to understand the core idea even in their favourite programming language. If you don’t understand the core idea of one language, how can you see where they all are heading? Here’s a sample of the core ideas of several languages, well-known to me:

It can take years to get to these core ideas. As you can see, they’re very different. How do we sum them up? The most competent thing I saw on this topic is the article “What next?” by Graydon Hoare. It was written in 2017 and it impressed me so much, I can’t stop thinking about it for 6 years. I 100% agree that:

What do we get instead in mainstream languages? Not much. At best, we get the ability to choose a programming paradigm while using only one language. This is useful when you badly want to use the only language you know. I don’t think it’s a bad direction in language evolution, it’s just not something we really want. We also get more complexity. Sure, we want to solve complex problems, and it sometimes requires sophisticated instruments. But I’ve never seen a person who would prefer a Swiss Army knife to a combination of a good ordinary knife or a good ordinary screwdriver.

Our path is towards simplicity. Die or simplify, that’s the endgame.