Jargons, and What Determines a Programing Language's Popularity?

By Xah Lee. Date:

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

Do Jargons Effect the Popularity of Programing Languages?

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 surprising, 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 intended 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 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. JavaScript stands firm and is ever spreading like octopus. Java deservedly, got pushed into Open Source 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-derived language (was just Perl scripts), has risen and surpassing perl to become a pillar language in today's world wide web. And then, there's still Scheme, the same old faaking Scheme, with it's cons and lambdas and tail-recursions and continuations faak 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. FAAK 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, 1997 to 2006 .

What Determines a Computer Language's Popularity?

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 don't 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 existence, despite the fact that considered as pure computer languages, elisp lacks many language features as well as libraries when compared to CL)

… not sure how this thought applies to erlang, Ocaml, 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 more populous than academicians.


…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 unnecessary use of jargons, but whether they also take steps to replace computer-science jargons by more practicality oriented terms.