
Why Do Programming Languages Succeed? (2014) - senorgusto
http://flagxor.com/article/why-do-programming-languages-succeed
======
riscy
> Some paradigms exemplified by the special languages are arguably unrealized
> or aspirational. [...] Haskell's pattern matching and monads end up being
> used mostly as a vehicle to embed imperative programs.

Pattern matching has nothing to do with imperative programs and Haskell is not
original for having it; it's been around since the 70s in ML. I would also
argue that pattern matching has been realized in many popular languages
(Scala, Swift, Ocaml, Rust ...)

~~~
mamcx
You read it wrong. Him said that in Haskell PM & monads are using for make
imperative code, NOT that is the defined trait of haskell, instead: "are
arguably unrealized or aspirational"

~~~
riscy
The rest of the article lists Haskell as being original for introducing
pattern matching and monads as a new programming paradigm.

~~~
mamcx
Oh right. In the "Very special" section list that (Without that it could be a
more compelling argument).

Perhaps haskell make it more popular?

------
saja
Because of creaters beard. [http://www.wired.com/2012/06/beard-
gallery/](http://www.wired.com/2012/06/beard-gallery/)

------
pizlonator
I'm surprised that Scheme is not mentioned. If you consider it to be just a
dialect of Lisp then Lisp+Scheme is probably as popular as some of the
languages listed as succeeding for popularity. By my count, the combined
Lisp+Scheme language has a 1.42% rating on TIOBE, which makes it more popular
than Ada, ActionScript, C*, Lua, R, and others. Also, most of the favorable
statements about embedding Lua or Tcl apply to Scheme, which continues to get
embedded in plenty of important things.

I guess I just don't get the methodology behind the popularity list.

Also, my bet is that Lisp/Scheme would have been even more popular if there
had just been one implementation as opposed to a confusing constellation of
standards and different implementations. The language is easy to implement so
the implementor:user ratio is too damn high.

~~~
mywittyname
Agreed, if you're going to list Basic and Pascal because they are easy to
implement, then Scheme seems like a no-brainer for inclusion. It probably is
the most common language for Baby's First Interpreter.

------
ised
Can anyone define "succeed" in this context? Is it purely popularity? What if
a language is inferior but popular?

If a language is effective for its user(s), then is it a "success"?

Is there some minimum number of users that delineates a threshhold for
"success/failure"?

What about DSL's that might have a limited number of users?

I like that the author recognized the "success" of shell and C as tied to the
"success" of UNIX . But he forgot others, such as sed.

Some my favorite and most powerful languages are not widely used. I have no
idea what "succeed" means to others in the context of programming languages,
but these languages have "succeeded" for me. They get the job done.
Efficiently.

Nothing has surpassed Snobol for pattern matching. (If you are in doubt, post
a pattern matching challenge and let's see how the solutions in various
languages stack up.)

Meanwhile other implementations of pattern matching have become more popular
(=successful?)

Perhaps the word "succeeded" here simply means "succeeded in becoming
popular?" If so, then I apologize for the gibberish.

~~~
douche
> What if a language is inferior but popular

aka web-dev-world. Where the lowest common denominator has more foot-guns than
C. Worse, the footgun often won't go off directly when you pull the trigger,
but some time later, perhaps when it is aimed at your face.

------
Varriount
I feel like in this day and age, it's "endorsement of a powerful entity" that
goes the most towards making a programming language successful - money to pay
developers and reputation to gain mindshare are the two things big companies
can do best (of course, other factors still apply).

