What Determines a Computer Language's Popularity?

Perm url with updates: http://xahlee.org/UnixResource_dir/writ/language_popularity.html

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 fading, but no less used than python. CGI has faded, VRML turns out stillborn. Javasript stands firm and is ever spreading like octopus. Java deservedly, got pushed into OpenSource death 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 of web. And then, there's still Scheme, the same old fucking Scheme, with it's cons and lambdas and tail-recursions and continuations 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 lack big ass. Most of these lang start with 0 experience, while scheme has some 30+ years 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 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. And the universe of industrial programing is far greater than academecians.

* * *

...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.

Popular posts from this blog

11 Years of Writing About Emacs

does md5 creates more randomness?

Google Code shutting down, future of ErgoEmacs