Why so many programming languages?¶
One of the first dilemmas someone first learning how to program is:
What programming language should I learn?
which then leads to the question
Why are there so many in the first place?
Analogy: The printing press¶
The printing press worked in Europe because most languages there have a small number of letters
It didn't catch on in China because there is no alphabet.
In programming, it's just easier to do some things in some programming languages
Here are some
printing presses for some languages
- comes with the browser => easy to make web apps
- easy to make Android apps
- historical reason: easy to write an app once that works on a ton of machines
- easy to build web apps with the Ruby on Rails framework
- universal adoption on *NIX systems makes it easy to write scripts that will work on most servers
If a language only gets popular after people make things with it to make the language useful, isn't that a catch 22? You need to be popular to be more popular?
Some languages like the romantic languages (French, Italian, Spanish) sound nice which gives someone a reason to learn the language.
Python has a lot of nice features and it's nice to write concise programs that are pleasant to read and write.
Ease of use¶
Python is one of the top languages that English speakers learn. That's because it feels more like a human language than many other programming languages.
With aesthetics, and ease of use, early adopters started making tons of libraries for anything you can think of from machine learning to web applications. Once a language it hits some critical point, it just gets more and more popular.
Why so many languages?¶
As people learn how to program, they notice that it's hard to do certain things with existing languages. They think they can do better so they write another language. Or they might just think it's fun to make new languages and it gains popularity.
New languages are still being created today! 🚀
The general purpose programming languages that will overtake Python as the one of the popular languages is likely a newer version of Python. There's always new features being added to the core language to make things even easier as our needs as software developers change.
Brand new languages also being created!
For example, the company HashiCorp found that no other languages met their Infrastructure as Code needs so they invented a new language that's super popular in that niche.