4 ms·
Is this not just another point in a decades long quest to save LISP? Maybe LISP doesn't need saved? Maybe it's okay that a language isn't popular? Maybe It's o
by adestefan 13y ago
Is this not just another point in a decades long quest to save LISP?
Maybe LISP doesn't need saved? Maybe it's okay that a language isn't popular? Maybe It's okay that a language isn't hip? Maybe it's okay if a language doesn't have the latest gee wiz social status? The fact that people keep trying to save LISP every 4 or 5 years could mean it's perfectly fine how it is. I don't see people trying to save the COBOL, or FORTRAN, or <insert favorite esoteric language here> community.
- hga 13y agoMaybe ... prior to the R6RS debacle I had my hopes on Scheme, but it's still digging itself out of that mess, plus the long term failure to advance from R5RS that prompted the process change. Common Lisp has had 3 decades to get its act together and is an abject failure in my view, plus it's got a half century of accumulated backwards compatibility accreted messiness. Clojure is not a LISP, as in LISt Processing is not its alpha and omega. For now I won't go into details on I think it's being so successful, expect to point out that its architect has exquisite taste and savvy pragmatism, has made some great innovations in e.g. making maps and vectors syntactically first class citizens, and of course if you like serious functional programming and/or multi-core SMP/ccNUMA programming is has a great story. And most of all it's developed an ecosystem that has left Common Lisp and Scheme in the dust. BTW, I don't think anyone needs to "save" COBOL, it's still used a lot, and as I understand it FORTRAN is still going strong in its niche, with regular new standard. Either are very far from being esoteric languages, although COBOL action is mostly hidden in the IT departments of organizations that write and maintain their custom systems.
- mrottenkolber 13y agoAm I the only one who thinks Clojure is extremely ugly, especially compared to CL? I work a lot with clojure, and it reminds me a lot of when I was forced a hack ruby. There is this guy, or even a group of people, who get caught up in the glamourous idea of reinventing programming. They then jerk their favourite features and design artifacts into a language. The main point of the design seems to be being able to express the thing in fancy words. Some people love that stuff, they think its beauty and good design because it's somewhat consistent (usually not after the second glance). I think good design is whats works, and what has evolved due to the needs of practicioners. And that is the beauty of CL, it's shaped by evolution and consensus, not by some vison. Edit: Also, ever taken into account, that CL is maybe simply good enough? Every possble feature can be included by libraries. There is no need for an updated CL, what we need is more standards like bordeaux-threads, usocket, closer-mop...
- hga 13y agoSort of. On the surface I find Clojure infinitely more ugly than true LISPs ... but if hairing up the syntax with vectors results in more adaptation its a price I'm willing to pay. On the other hand I'm really pleased at its making vectors, maps and sets first class syntactic citizens, and the other things that have unified them with lists. Underneath the hood I think there's no comparison, then again it addresses exactly the sort of things I'm interested in. Common Lisp just can't win there due to it being the current version of mainline LISP going back to, well, I supposed the punched card days when it was implemented as FORTRAN subroutines. Yeah, car and cdr are neat, and even useful in combination, but ... well, no where can you assume TCO. (Have to run, more later.)
- mrottenkolber 13y ago> well, no where can you assume TCO. (recur ...) Is an ugly hack. Yes in CL you can assume TCO from good implementations. You know you can add vector/map whatever syntax to CL in like 50 loc? Are you seriously saying that syntactic sugar is in any way relevant to anything? Let alone an important feature of Clojure? Thats just sad. > car and cdr are neat, and even useful in combination, Actually wether you call them car cdr first rest or whatever, it's actually about CONS or call it a pair if you like. A very simple but infinitely powerful datatype. This is the first thing I teach when I teach programming for a very good reason.
- hga 13y agoUgly hack ... but maybe a useful one? In that explicitly requesting TCO avoids certain classes of errors? (I don't know on balance, haven't tried TCO in Clojure in anger, and I experience enough value in being in the JVM ecosystem that it's a price I'm in theory willing to pay for now.) The problem with CL is that you can't assume it in every major implementation. Although I just found this page which paints a fairly good picture: http://0branch.com/notes/tco-cl.html http://0branch.com/notes/tco-cl.html "The following implementations were found to provide full TCO: CMUCL SBCL CCL Allegro LispWorks …only optimise self-calls in tail position: CLisp GCL ECL (when explicitly compiled) …neither: ABCL Back to me: and CL is so big that "non-major" ports are of much less interest. As for vector, map and set syntax, that was explicit mentioned as being a surface thing. The real special sauce is in how they've been unified with lists, especially under the hood. As for your last point, I see great value in all that in the LISPs, although I of course prefer Scheme. But I also see great value in the "Lisp" (LISt Processing no longer the alpha and omega) in what Clojure is doing."
- adestefan 13y agoI was using COBOL and FORTRAN as languages with a long history and didn't mean to imply they were esoteric. I didn't want to write "<insert old language here>" because I wanted people to think of more than just old. But you bring up a good point. Those languages are still around because of the niche they fill. It's okay for LISP to be around only because it fills a niche, too.
- sampo 13y ago> FORTRAN It's spelled Fortran since the 1992 standard, which was a huge improvement, and now since the 2003 and 2008 standards, Fortran is a pretty decent language. But a funny thought occurred to me: year 1992 is now 21 years ago, but ignorance of the difference between FORTRAN 77 and modern Fortran continues strong. In next 5 year or so we'll start to get Fortran-ignorant comments from people who are younger than the "Fortran 90" standard from 1992. The language was updated before they were born, but they haven't yet noticed it.
- adestefan 13y agoI'm embarrassed to say that I actually know this, but it's so ingrained to type it in caps. I even did it twice in this thread. It was an interesting exercise in college when I took a class on numerical methods and some programs where in "old" style while other were in "new" style. It made the non-programmers go bonkers.