choose language

How to choose a programming language?

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.

In alphabetical order:

TOP-10

  • C
  • C++
  • C#
  • Java
  • JavaScript / TypeScript
  • Objective-C
  • PHP
  • Python
  • Ruby
  • Scala

TOP-20

  • Assemblers
  • Clojure
  • Delphi / Pascal
  • F#
  • Go
  • Haskell
  • Lua
  • Perl
  • Swift
  • Visual Basic

Also, there is a separate group of specialized titles unrelated to the programming languages of general purpose:

  • CSS
  • HTML
  • MATLAB
  • R
  • Shell(s)
  • SQL
  • XML
  • Verilog
  • VHDL

“Kindred” languages like JavaScript / TypeScript, Delphi / Pascal and all kinds of Assemblers are grouped for simplicity. The statistics this (and similar) lists are based on will be considered later. Our current goal is to illustrate the idea.

The difference in relevance, amount of available information, opportunity to change the company etc. is huge for the leading languages and the lagging ones. It’s enough to say that for comparing quantity indicators of the TOP-40 languages (like the Number of Repositories) logarithmic scales are always used.

The conclusion: if you don’t know what language to choose – choose one of the popular ones. The inertness of the industry is huge. Radical changes happen very rarely (and more rarely, with time), but the leaders in the list hold their positions stably. The change of the leader(-s) in this or that field, almost always, happens through the change of the platform itself but not through the loss in a “fair” competition. Perl, Cobol, Pascal – are the rare counter-examples. Want a new language? Wait for the change of the platform (or the paradigm).

What do we choose?

One more unpleasant truth – we don’t choose the language. We choose the field, which is accompanied by one, two or three languages. They are already “chosen” for us. By whom? By the industry, market, historical accident, after all.

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?

  1. The environment (and the way) of executing: The Compiler / The Virtual Machine.
  2. Vendors and the Platform
  3. Ecosystem and Community.
  4. The demand and industry trends.
  5. Connections with other languages and ecosystems.
  6. The vision of the language.

Add your comment