I didn’t get trained by the school system like other kids, and when I did concentrate on learning, my mind was cluttered and locked by the programming of the system.
By different estimations, the number of production-ready programming languages in the world varies from 400 to 600. And at least two orders of magnitude more experimental projects. How to make a good choice, having so many options? How to choose a language, which not only will turn out to be commercially in demand but also will bring joy to everyday practice? How will this choice show itself in the long-term?
The criteria for choosing the first and the N-th language differ radically. This article describes the process of choosing the first language. What is meant by “the first” language? The one in which you can fulfil commercial orders! That means if you have read something about a dozen of languages, but can’t make it to the Junior in every one of them, – this article can be useful for you.
The illusion of choice
The first thing you have to understand is that you don’t have much of a choice. It’s not hard to pick out the TOP-10 of leaders from all the variety of languages. 80% of all that’s happening is happening there. Precisely by Pareto. TOP-20 of “known” languages defines the boundaries of the reasonable choice (of the first language). One more ten of “small stuff” is for adventurers. “Fear and Loathing in Las Vegas” – next on the list.
It is characteristic for beginners to concentrate on the language. The syntax, the grammar… – they seem so important, so unfamiliar that draw all our attention. But it turns out that this is just the tip of the iceberg. What’s beneath the water?
- The environment (and the way) of executing: The Compiler / The Virtual Machine.
- Vendors and the Platform
- Ecosystem and Community.
- The demand and industry trends.
- Connections with other languages and ecosystems.
- The vision of the language.