

Why Do Some Programming Languages Live and Others Die? - gtani
http://www.wired.com/wiredenterprise/2012/06/berkeley-programming-languages/

======
ChuckMcM
The key take away from this:

 _"Part of the problem, he says, is that language designers don’t always have
practical objectives. “There’s a tendency in academics of trying to solve a
problem when no one actually ever had that problem,” said Rabkin, who recently
received his computer science PhD at Berkeley and is now at Princeton working
on a post-doc. "_

I was at Google when Go was birthing (not part of the project or team, just
co-employed :-)) and asked the team "What problem does this solve?" I asked
because I had been part of the original Java team at Sun. One of the things I
had learned at Sun from James Gosling, who had previously done a language for
window systems, NeWS, was that the only reason to have a new language is that
it solved a problem you could not easily solve with the existing languages.

If you look at all of the durable languages, they share this heritage. BASIC
solved the problem of what you had to learn before you could actually program
problem. FORTRAN, solved the problem of converting Formulae into computation,
which was later made into high art in Mathematica. COBOL which could express
business process in code, and of course C which was a logical follow on to
BLIS which was the minimal wrapping over assembly language so you could
implement large systems and still read the code later and know what they were
doing.

I didn't get any sort of coherent answer from the Go team at the time. Which
for me was an indication they were a solution in search of a problem, and thus
not likely to be much more than a niche language. But to be completely fair
I've seen good languages like Rexx go nowhere even though they solved a huge
problem (automating the integration of different programs).

A co-worker at Google suggested that we should start holding meetings in High
Elvish, their reasoning was that it would keep people out of meetings who were
at least motivated enough to learn elvish, and it sounded better when you
swore. But applying a language change to solve a structural problem was never
going to fly.

~~~
npalli
How do you explain Java's massive uptake. It can't be it that it solved some
problem uniquely that no other language did (whatever that was in 1995).
Without the massive marketing and development by Sun, IBM and Oracle who
wanted to use it to undermine the windows platform I doubt Java would have
taken off the manner it has.

Same thing with C and C++. Without AT&T's backing of Unix and C it is highly
unlikely C would have ended up where it is right now. The initial backing of
C++ by AT&T was certainly instrumental in pushing it forward.

Similar examples Python -- interesting niche language until Google picked it
up and started pushing it around 2004.

FORTRAN -- IBM's muscle

C# -- doesn't solve anything that Java or C++ couldn't do in 2000 except
Microsoft wanted their own proprietary language.

It seems that solving some problem might be optional, but commerical backing
and long term support is essential.

~~~
ChuckMcM
Java set out to solve two problems, one was portability of 'compiled' code, so
OS/ISA independence, and the other was security issues. And Sun was actually
in the process of flushing it down the toilet prior to the response it got in
Darmdstadt and elsewhere. The big marketing push came when Sun saw it as a way
to club Microsoft, that occurred only after people figured that 'life in the
browser' didn't care what OS you ran on. And a _lot_ of people wanted to get
out from under Microsoft's thumb at the time.

 _"It seems that solving some problem might be optional, but commerical
backing and long term support is essential."_

It seems Forth might be a counter example here, what are your thoughts on its
relative success?

~~~
mccoyst
Very few people/projects use Forth…

But, I can think of one or two way more popular and significant
counterexamples (although I don't disagree with his general sentiment): Perl
and Ruby.

------
davidw
> “Maybe the solution isn’t entirely technical,”

Gee... you think? Programming languages are designed for humans - computers
get by just fine with bits and bytes. And a programming language must not only
communicate something to the computer, but also to any other humans who have
anything to do with said system, if it's doing its job well.

So the problem is entirely social. I wrote something about it a while back:

<http://www.welton.it/articles/programming_language_economics>

------
th0ma5
It is interesting they remark towards the end about age having a factor in
innovation. I've noticed that as I've aged my ideas are better (at least for
me, heh) but that I have less time or desire to implement them.

------
sonnym
On the correlation between bearded language designers and language popularity:
[http://www.alenz.org/mirror/khason/why-microsoft-can-blow-
of...](http://www.alenz.org/mirror/khason/why-microsoft-can-blow-off-
with-c.html)

~~~
pcopley
That author needs to either learn English or blog in his native language. It
was downright painful to read.

------
wonderzombie
This reminds me of an earlier piece, the one about VB. Merit of a given PL and
its success/popularity are correlated, surely, but it's more complex than
that. They can be orthogonal by varying degrees, I'd say.

What they really seem to be asking is why hasn't a language which has improved
substantially on C received similar adoption. Possibly another qualifier is
that the language mustn't be C-like. Or there's an implicit value judgment
about Java in there. :)

------
neonscribe
This subject has been covered extensively, but rarely in the popular press.
One correction: C wasn't "popularized" in 1977. It was available inside Bell
Labs and in a few C.S. departments on early PDP-11 Unix versions, but it did
not really become popular until the late 1980s, when it became a viable choice
for development on MS-DOS and Windows (with some ugly extensions to handle
16-bit address segments).

