

Why so many programming languages? - Kristo5747

I started getting involved in coding ten or so years ago. I am self taught and, by necessity, became a jack of <i>many</i> trades (Bash, Awk, Javascript, PHP, Java, C, Assembly), but master of none.<p>I struggle to understand why so there's a flurry of languages seemingly designed to answer a specific need. Ten+ years ago, it was not the case (the purists will likely disagree).<p>C was well-suited for *nix, Basic for telco, ASM for micro-controller programming etc...Now, you have a need, wait a few months and you'll find a programming language.<p>Can someone please explain the reason why there is such an excess of programming languages?
======
cd34
Almost every language fixes a certain problem in a way that the authors felt
was better than any existing method.

In college I took part in an experimental Ada course - two semesters - taught
by arguably one of the first dozen or so experts in Ada. Ada was going to save
the world - everything in the US Government was going to move to Ada, learn it
or be a dinosaur. Ada had some very unique traits that made it very flexible.
Dealing with financial figures/budgets? overload your math operators to handle
currency. Dealing with extremely accurate numbers for missile tracking?
overload your math operators to handle extremely precise numbers.

The problem was, after receiving this Ada training, replacing Cobol (which was
the main intent), never took place. Now, the US Government allows programming
groups to choose the 'right' language for the job. Ada is still used in some
government and civillian tasks, but, it certainly didn't live up to the
original hope. I believe portions of the Boeing 777 use Ada. It was still
cheaper and easier to maintain Cobol code than to rewrite - and still is. I
know two recruiters that occasionally mention their passing need for Cobol
programmers - and it's been 25 years since Ada was going to replace Cobol.

PHP was originally developed to get away from Perl CGI and allow pages to be
easily scripted and customized.

Every language has a particular strength or weakness and their own following.
Not that you can't accomplish almost any task with any of them, it is
selecting a language that might handle that task more efficiently.

Even for something like webapps, if you had 30 people in a room, I seriously
doubt you would get any consensus on the best language for web scripting. Add
on top of the language choice, frameworks, and you've got another religious
war.

I don't think I have any projects that use a single language in deployment,
even discounting bash from the equation. There are things that I find easier
to accomplish in different languages.

------
dwc
The reason why there are so many languages is that there's no committee
deciding which languages are ok and which are not. And that's really, really
awesome, because committees would stink at that.

Instead, we have the ability to choose among all these languages, or even to
make our own. This is a good thing. Different languages approach things in
novel ways, and learning new languages is a good way to broaden your skill as
a developer. Learning new languages also gives you more tools in your toolbox,
so you hopefully won't be stuck pounding in a screw with a hammer.

Some developers chose one language and stick with it, maybe for their whole
career. This can be you, if you want that. But don't be surprised if your
career becomes maintaining legacy apps, not that there's anything wrong with
that.

~~~
Kristo5747
@dwc: sensible answer to a "problem" that made my head spin. Thanks for your
insight. Much appreciated.

As far as "broadening your skill as a developer", it's another story. Maybe I
should become self employed so I can finally master one trade and stop being
the jack of so many.

------
timrobinson
This isn't particularly scientific, but the list of "2000s languages" on
Wikipedia is relatively short:

[http://en.wikipedia.org/wiki/Timeline_of_programming_languag...](http://en.wikipedia.org/wiki/Timeline_of_programming_languages)

------
madhouse
There were quite a lot of languages even ten years ago.

There was shell, perl, python (albeit fairly young at that point), tcl, lisp,
ada and so on and so forth.

The trend merely continued.

------
Kristo5747
Why shouldn't there a one size-fits-all type language?

To the un-initiated (i.e me), this makes sense: one for mobile devices (java),
one for the web (PHP?), one for UIs (javascript) and one for low-level work
(c/asm).

How can someone who makes a living writing code be expected to keep up with
the trend that @madhouse talks about?

