3 ms·
As I often say, LISP is the language of the future, and it's been the language of the future since before I was born (in 1965!). It will always be the language
by beat 13y ago
As I often say, LISP is the language of the future, and it's been the language of the future since before I was born (in 1965!). It will always be the language of the future. If it hasn't become the dominant language in 50 years of computing, it probably won't happen. On the other hand, it hasn't died in 50 years of computing either. The only other language that has shown that kind of longevity is C, which came into being less than a decade after LISP.
Frankly, I think a lot of the problem is social. LISP proponents have a historical condescension that really doesn't sit well with all the programmers that they think are idiots for not using LISP. Less stick and more carrot would go a long way. Consider the thread elsewhere in this discussion that whines about how Clojure even got mentioned! Clojure is exactly the sort of carrot that will bring current programmers into the functional paradigm. Bashing it because it's not pure enough is lunacy if you ever want your language of choice to be dominant, and not merely feel smug and superior to the lazy corporate sods who use crap languages. I see these attacks and remember the attacks on Scheme long ago - same issues.
I firmly believe large social things happen for a reason other than "people are stupid". If LISP holds only a tiny corner of the programming world while some genuinely dreadful languages (PHP!) rule the roost, there's probably more to the story. It would do the LISP community some good to meditate on that for a while.
- hga 13y ago"LISP proponents have a historical condescension" I think this is a recent phenomena, which probably developed after the late '80s AI Winter et. al. crash. When Lisp was ascendant in the early '80s, the attitude, at least in the MIT community, was that everyone could and if they so desired should learn Lisp. Bernie Greenberg, among many other things the author of Multics Emacs, which used Maclisp as one of its implementation languages and of course as its extension language, was immensely proud about MIT secretaries using it to turn keyboard macros into real extensions. Although, he was a major evangelist at the time, author of a great intro I've been trying to find a copy of, the guy who said "Cons is an object which cares. It cares about its car and cdr", etc. etc. But he was fully supported by everyone I knew in the MIT Lisp community. And I think Scheme escaped some of this, or at least it didn't suffer like CL did since it retained its place as a teaching language for quite some time, only falling in this century (e.g. MIT panicked after the dot com crash resulted in EECS enrollment dropping more than by half, Berkeley recently retired its SICP class when professor Brian Harvey retired, etc.) ADDED: and unless things have changed very recently, has retained its place in computer language development. Heck, while not the same thing, Javascript is basically a Scheme with a prototype-based object system and C style syntax. Clojure as far as I can tell has escaped this, then again it's being quite successful currently and per my guess above that would help a lot. As for the "people are stupid" thesis, our host has interesting commentary in that direction with his Blub language hypothesis: http://www.paulgraham.com/avg.html http://www.paulgraham.com/avg.html BTW, as I understand it, FORTRAN, the first computer language (Lisp is the 2nd oldest survivor) still is very big in number crunching.
- beat 13y ago"Recent" in this case is still before many current programmers were even born. 25 years ago isn't really recent anymore. As for FORTRAN, there are a couple of reasons. First, the ability to skip a pointer dereference on large tables for performance, and second, the existence of fine and ancient libraries for well-known problem spaces. I used to work with some old Cray guys, and they would rant about how FORTRAN was the best language ever on purely performance grounds.
- hga 13y agoIndeed for "recent", but then again we're discussing a language which first appeared in 1958, 3 decades before the cause I posit for the mainline/CL community becoming ... not so nice. Note that I don't really know, I left it for Scheme by the middle of the '80s. Is no one writing large bodies of new FORTRAN code? Or is it mostly in COBOL style maintenance mode, and e.g. called a lot by Python, which I gather is getting a lot of attention in the scientific community (I started with IBM 1130 punched card FORTRAN "IV" in 1977 in a academic year long class, but stopped after that, it wasn't an answer for the sorts of problems I was interested in, C and Lisp are).
- beat 13y agoI dunno. I haven't looked at what's going on with FORTRAN in a meaningful way in years. It might largely fall on how algorithms designed to exploit long-obsolete vector processors have been adapted to work on modern, highly parallelized supercomputer networks, with powerful but conventional individual nodes separated by really slow networks.
- emkemp 13y agoFortran is very heavily used for development in numerical weather prediction. For example, the WRF model (http://www.mmm.ucar.edu/wrf/users http://www.mmm.ucar.edu/wrf/users) includes hundreds of thousands of lines of code and has been under continuous development since the late 1990's. And Fortran has evolved significantly in the last two decades, absorbing many features (and lessons learned) from other languages. Structures, modules, encapsulation, argument checking, pointers, allocatable arrays, classes, inheritance, function overloading, pure functions.... Wikipedia has a decent summary (http://en.wikipedia.org/wiki/Fortran http://en.wikipedia.org/wiki/Fortran).
- agumonkey 13y agoI think whether they knew it or not, old Lispers couldn't communicate with the world without friction. The paradigm shift was probably too large, even nowadays a lot of people will frown even though gc, closures, map/filter and other idiom have bubbled up. I felt the same the first time I saw ML.