4 ms·
The good news is all the problems mentioned were had to do with Lisp's lack of popularity.
by daniel-cussen 18y ago
The good news is all the problems mentioned were had to do with Lisp's lack of popularity.
- pmjordan 18y agoWell, I don't know. Popularity definitely gets you libraries, but to a large extent, the runtimes are VERY daunting even to interested people. The author raises some valid issues with CL implementations. I'd also add concurrency/threading, for example. Part of the problem is that the standard (in my opinion) standardises some of the "wrong" things. In part, that's just down to its age, but also just the whole "design by committee" problem. So if there are important omissions in the standard, you get a load of implementations that technically comply, but in effect are incompatible with one another for any real work. Most of the popular newer languages have a "benevolent dictator" (or not so benevolent in some cases), which means there's a reference implementation which almost everyone uses. Okay, maybe you lose out a bit on runtime quality, but I think the current trend towards building on top of the JVM, etc. will continue and alleviate that particular problem. I also tried to use Common Lisp, I really did. I liked the core, but in the end it was the sheer volume of little problems that drove me away. Luckily, I've found a lovely compromise in Clojure.
- cstejerean 18y agoWhy is that good news? Are you still waiting for Lisp to get popular and to make all these problems go away?
- pg 18y agoI think the point is that the problem isn't in the language core, but in more superficial things like libraries.
- gaius 18y agoWell, libraries may be superficial, but I few times now I've started in LISP, needed something that I just can't find, can't build myself (I'm not that good) and switched to Python because I needed to get stuff done. I am slowly but surely assembling all the LISP pieces I need (CLSQL being the latest piece of the puzzle). But the truth is you can install Python, be doing something useful within a day and writing production code within a week. LISP requires much more upfront investment before you (well, me) can be productive in it. That's not a criticism of LISP itself, but the lack of a "batteries included" distribution. If only ActiveState made an ActiveLISP...
- gruseom 18y agoWhat have you needed that you couldn't find?
- gaius 18y agoOK, here's one example. I have an app that receives email, processes it, and sends it back. I need to get all its attachments, do work on them and build a new message. In Python parsing an email is: import email msg = email.message_from_string(sys.stdin.read()) How easy is that? The subject is msg["Subject"]. Iterating over the MIME parts is 2 lines of code. I could build all the scaffolding very quickly, and concentrate on the problems I needed to solve. Maybe this is just as easy in LISP - if you already know where to get all the bits, and I don't, and I'm not good enough to write a production-grade RFC822 handler in a day. I like LISP a lot and am trying to use it where I can, but at the end of the day, I have to get stuff out the door as quickly as I can...
- icey 18y agoI think more than anything else, this is probably the largest problem with Lisp adoption. Maybe Clojure will have better luck in this space because of its ability to drop into the JVM to get libraries.
- herdrick 18y agoJava's email library sucks. You need to sumbit to the JavaMail way of looking at email to do the simplest thing with it. First you need to understand that JavaMail is 'cross-platform' in the sense that it's for any hypothetical messaging system, not just email. So it has layers and layers of lame abstractions. Lots of configuration needed to do the simplest things. That's one of the worst examples, but my overall feeling is that dynamic languages on the JVM aren't worth it. You're probably better off with an independent language environment.
- gruseom 18y agothis is probably the largest problem with Lisp adoption Sometimes it's not clear if that's really the problem, or if it's more the perception (and the fact that the perception gets repeated a lot) that's the problem. Hence my question earlier in the thread.