back

by zorked·11y ago·view on hn ↗
Language popularity generally follows adoption of some key library or framework from that language.

Python is probably an exception there because it got popular despite the lack of a clear reason (I would argue it was there to fill the vacuum left by Perl). But Rails is what brought Ruby into the mainstream, and C was brought to the mainstream by Unix, and JavaScript was brought to the mainstream by Netscape, and so on.

Lisp never became mainstream because nobody ever wrote a killer app/library/framework/OS in that language. The most popular flavor of Lisp today, Clojure, managed to carve a niche for itself because its community is so practical-minded and has been working on very practical stuff like Om, Storm, Reagent, etc. Hopefully they will find their own killer app one day.

2 comments
Emacs brought Lisp mainstream, and Emacs Lisp at its heyday was arguably more popular than Clojure is now. The problem is that Emacs was the dominant text editor c. 1990, when the software world was much smaller than it is now, and has since been eclipsed by IDEs, GUI editors, etc.
AutoCAD brought Lisp mainstream for mechanical engineers, architects, and so many other 'rocket scientists' that I believe Emacs pales in comparison. I was programming AutoLisp (automatic correction of trace and drill patterns for PCBs) on the machine which wasn't even able to build a decent Emacs in reasonable amount of time (PC AT/286 12Mhz with 2MB memory :-)). I was able to build myself an Emacs only after I got upgraded to 386SX 16Mhz with the whopping 4MB of RAM.
There was a period when Lisp was pretty large in industry as well, especially at places like BBN and NASA. Depends on how you measure, of course; those kinds of places don't do things that have a lot of end users, but the projects are large measured in dollar terms.
That's right. But I think it's going through a little renaissance. Emacs 21-24 has happened in a remarkably short time. With the Internet, many programmers are looking for better paradigms and find Lisp & functional programming.
I'm curious what you mean by "the vacuum left by Perl". I certainly have little love for Perl, but you say that as if Perl went away or something. I don't think it did? Was there a large herd of perl programmers that just all went "Oh, bollocks, this perl6 thing is never going to arrive -- every day, my code just works, isn't broken by an update to the language. Time to move on!" ? Because that doesn't really make much sense.
I am no historian, but back in the 90s Perl was filling the niche of "the duct tape of the Internet" and systems administration language. I used it.

I think three things contributed to its downfall:

1) Perl 6

2) the huge inflow of people into Unix who were not keen on Perl's ultra-Unixy wackiness (let's borrow from bash, awk, regexps and everything under the sun! - fun but not exactly welcoming to require newcomers to learn the entire cultural history of Unix to learn your language)

3) the fact that sysadmin work was quickly graduating from writing scripts that send angry emails when users fill their 20MB home directory quota into managing serious, distributed system that serve as crucial infrastructure, for which the non-wackiness of Python was a better cultural fit (particularly when the role of developer and sysadmin started to merge)

It's not so much that people started rewriting their Perl scripts, it's more like the newcomers who weren't doing Perl soon outnumbered those who were.

Re 2) I think that's not just "unix wackiness", but plain wackiness. But as I said, I never did like perl much -- even if I do like awk/sed/grep/sh.

Perhaps one other factor is the rise of GNU/Linux and death of Unix. Linux might still be the world's most "self-incompatible" operating system -- but it's a lot more coherent than a mix of various flavours of Unix/Solaris/BSD etc.

Shell scripting makes more sense if you can assume a certain lower common denominator of GNU sed/grep/awk and posix and/or bash. Along with more or less consistent file system layout, location/availability of special files etc.

Add to that the rise of XML, then json, and perls built in regular expressions doesn't set it so far apart any more -- you'll need a library/tool for parsing/serializing anyway.

Still think it a bit odd to call it the "vacuum left by perl" -- it's probably more the flood created by python/ruby/newcomers...