6 ms·
It might, but I doubt it will. “Roll your own libraries” is so core to the CL community’s self identity, that I doubt it will ever change within my lifetime. H
by ashtonkem 5y ago
It might, but I doubt it will. “Roll your own libraries” is so core to the CL community’s self identity, that I doubt it will ever change within my lifetime.
Honestly, if you want a modern Lisp experience, I’d recommend Clojure. Clojure doesn’t philosophically align with my own preferences, but that community is very active and very invested in solving common problems as a community.
- jhgb 5y agoI find Clojure awful both conceptually and implementation-wise (the imposition of lowest common denominators by JVM dependency really sucks here, starting with lack of tail calls, but not ending there), so that's most likely not going to happen. I don't see why the good things in Clojure should be impossible to achieve in CL as libraries. You might argue that CL community should be working on those, and you'd be completely right.
- ashtonkem 5y ago> I find Clojure awful both conceptually and implementation-wise (the imposition of lowest common denominators by JVM dependency really sucks here, starting with lack of tail calls, but not ending there), so that's most likely not going to happen. You do you, but I personally would do some thinking on why Clojure has eaten CL’s lunch, despite your belief in its inferior design and implementation. (Edit: for the record I’ve worked professionally in CL, Clojure, Java, and some others. I think Java is best, but I think that your argument about Clojure being inferior to CL is incorrect). Also, tail calls? Really? Genuinely can’t remember the last time that mattered to me. > I don't see why the good things in Clojure should be impossible to achieve in CL as libraries. I don’t see why “impossible” would be a factor here. It’s not technology that’s holding CL back here, but rather what the community values and spends its collective time on.
- jhgb 5y ago> but I personally would do some thinking on why Clojure has eaten CL’s lunch, despite your belief in its inferior design and implementation. It's largely a similar reason why Java has eaten Smalltalk's lunch (upfront environment costs have been disastrous in the past for both Smalltalk and CL, and in many ways they continue to be - Allegro, LispWorks, VisualWorks are still expensive), plus the fact how Clojure latched itself onto Java's large ecosystem. For a large user base, inferior design and implementation don't matter as much, as PHP has demonstrated amply, so why should they matter here for a similarly large number of people? They won't mind, although some other might. > Also, tail calls? Really? Genuinely can’t remember the last time that mattered to me. It's not the only thing deficient in Clojure, but I've noticed that many fairly common patterns get significantly more convoluted without them. If there's no drawback to having them, why not have them? Oh, wait, I forgot, JVM does not support them...
- pjmlp 5y agoNeither does Lisp in general actually, only Scheme requires tails calls as per language standard. You cannot rely on them if you want to write portable Lisp code.
- jhgb 5y agoWhile it is true that the standard doesn't mandate it, any implementation worth its salt allows you to do tail calls. It's the same with threads; "if you want to write portable Lisp code" you can't expect threads in CL "in general" either. In practice, real-world CL implementations can do threads just fine.
- ashtonkem 5y ago> For a large user base, inferior design and implementation don't matter as much, as PHP has demonstrated amply, so why should they matter here for a similarly large number of people? I find this dismissive attitude so tiring. Given the huge number of people actually shipping useful code in languages with “inferior design”, perhaps you’re just wrong about what’s good design? Either way, implying that Lisp is so much better than what the unwashed masses use is not persuasive, and has a tendency to turn off other people.
- jhgb 5y agoI never said that you can't make good code in PHP. > perhaps you’re just wrong about what’s good design? It does not follow from people making good code in PHP that PHP itself is good (or that it couldn't better than it is), just like it does not follow from people making bad code in any language X that language X is bad. So that would be a "no" on that front. > implying that Lisp is so much better than what the unwashed masses use is not persuasive I think you completely missed my point. It's not supposed to be "persuasive". It's the basis for my own personal decisions. I don't need to "persuade" myself. Some people may make this a basis for their own decisions, but whether they do that or not is their business, not mine. In fact I wouldn't have even mentioned my opinion of Clojure had you not pushed Clojure on me, so there's that. If you don't like that I prefer Clojure over CL, simply don't bring it up the next time.
- mbrodersen 5y agoThe CL community clearly doesn’t value working together to make Lisp a real world productive language. That’s why the world runs on C/C++ and not Lisp.
- jhgb 5y agoNo, the world runs on C/C++ mostly because CL vendors were too greedy. It's difficult to convince people to use a $100k environment when you could have gotten a $2k environment instead.
- mbrodersen 5y agoFree open-source high quality Lisp implementations have been available for decades now. Where is all the awesome software written by the self-proclaimed Lisp geniuses? With people that clever and with access to a language that powerful surely software written in Lisp should be totally dominating by now. Surely all the “crappy” software written by those non-smart non-Lisp developers should have been totally outclassed by now right? And yet it isn’t. Not even close. Lisp has had close to zero impact on the real world. So perhaps, just perhaps, the Lisp developers are no more smart than the rest of us and perhaps, just perhaps, Lisp isn’t a more productive language that the languages used by everybody else.