What Determines a Computer Language's Popularity?

Xah Lee, 2007-08-18

[Note: The following is a online forum post, in which i posit a aspect that a computer language's popularity depends on.]

Xah Lee wrote: «The Haskell community, would benefit greatly (say, as tripling its popularity or number of users), by forbidding literature associated with its teaching, of using the term Currying.»

Chris Smith wrote: «Even when teaching the meaning of the standard library routines “curry” and “uncurry”?»

umm... that seems unfortunate. I think things like this, effectively functions like a damnation on the language's reach.

It is not surpring, since Haskell is made by academics, who have little contact and understanding of the real, daily, average programers in the computer industry. (and Haskell wasn't intented that it might be a language for general industrial use)

Similar problem cripples the Schemers. Personally for me, it was sad. When at the dot-com era (~1998), new langs and techs like Java, perl, cgi, javascript, css, html 3!, VRML! ...etc are seething with a bright utopian future. At the time, Python is very little known. (like a niche little thing nobody knows or cares) And, whenever Python is mentioned, Scheme is often also mentioned, and tcl as well, for comparisons and potentials. (i read most of SICP↗ and most of R5RS↗ in 1998)

Now, it's almost a decade later. Python has grown and risen into the limelight, and is used by many major corporations. Perl is still not dying. CGI has faded, VRML dead. Javasript stands firm. Java got pressed into OpenSource by Microsoft (sounds like Netscape to me, and i do hope Java and Sun Microsystems die a painful, miserable, DEATH). Pretty Home Page, technically a extremely badly designed, weak, Perl-based language (was just Perl scripts), has risen and surpassing perl to become a pillar language in today's world. And then, there's still Scheme, the same old fucking Scheme, with it's cons and lambdas and tail-recursions and continuations motherfucking fuck nobody knows about and nobody gives a hot damn.

Who to blame? I blame the Schemers. Not because their language being technically lacking (quite the contrary), nor because they lack mature tools or compilers or libraries. (There is scsh, which by itself already sufficiently surpasses the most advanced or popular shells such as Bash and the entire unix tool bags that are pervasively used in the industry, and scsh has been around for long). if Scheme lacks, then tcl, python, php, ruby all lacks and some starts at 0 while scheme is some 30+ years old of experience) But primarily, due to the Schemers themselves with their academic drivels. Fuck Schemers.

(and consider the baby Ruby (Oh my god another language with nothing new), which is rising like a star today)

See also: Computer Language Popularity Trend.

* * *

The above thoughts gave me a insight. That is, a language's wide adoption in the industry has a lot to do with the original purpose of the language and the community it is associated with. So, Scheme, Haskell, i dont think will be widely adopted in foreseeable future. While Ruby, considered as a computer language, really offers nothing new, but due to its origin, will likely grow with far more users and libraries then Scheme or Haskell.

Likewise, consider Common Lisp. Considered with respect to computer science, really is inferior to Scheme or Haskell in many ways, but will nevertheless be more popular, given its industrial background. (and as we know, in fact has garnered a lot publicity and users in recent years) (in the same way, consider emacs lisp, probably has been quietly far more popular than Common Lisp throughout their existance, despite the fact that consider as pure computer languages, elisp lacks many language features as well as libraries when compared to CL)

... not sure how this thoguht applies to erlang, Ocamel, f#. It would suggest that these, with their industrial background, will become more popular than Haskell. (if not already a fact)

... to recapitulate this thought: that a lang's primary concern and primary community dictates what new users will be using the lang. So Scheme, Haskell, have focuses on elegance and computer science research, and thus, that's what they will be. Common Lisp, Ruby, f# has focuses on practical industrial use, all things considered, thus that's how they will be.

* * *

...now back to the discussions on terminology...

Does Microsoft's f#'s literature uses jargons?

That would be interesting to see, if Microsoft, in its functional lang f#'s documentation (or naming of things in the lang), takes care to not only avoiding uncessary use of jargons, but whether they also take steps to replace computer-science jargons by more practicality oriented terms.


Related essays:


Page created: 2003-06.
© 2003 by Xah Lee.
Xah Signet