4 ms·
That's unnecessarily dismissive. CL is a wonderful language, but it's gathered a lot of cruft over the years and essential features like multithreading are not
by lukev 14y ago
That's unnecessarily dismissive. CL is a wonderful language, but it's gathered a lot of cruft over the years and essential features like multithreading are not standardized.
More importantly, it doesn't have a focus on immutability and functional programming by default.
I'm not even sure what you mean about the JVM blowing up after a few hours... Tuned correctly it'll stay up indefinitely.
- sedachv 14y ago> but it's gathered a lot of cruft over the years In what way? The Common Lisp standard hasn't changed since 1994. > essential features like multithreading are not standardized No one has made up their minds what the best atomic test-and-set operations are. A lot of platforms can't even agree on semaphores vs. condition variables. Which concurrency primitives do you think should be standardized, and which should be left to libraries? To me that seems like a trick question, because there's no good answer. For example, I think software transactional memory is a dead-end, and shouldn't be part of a language standard, but many people involved in Clojure obviously disagree. > More importantly, it doesn't have a focus on immutability and functional programming by default. You can always do FP in Common Lisp, but you can't do gotos in Clojure.
- technomancy 14y ago> You can always do FP in Common Lisp I really wish this were true because I write a lot of Emacs Lisp (closely related to CL), but it's not. If you don't have immutable lists and strings built-in to the language, you never know whether a given library function is going to assume it's fine to just bash the data in place. And that's not even getting into fundamental equality issues: http://home.pipeline.com/~hbaker1/ObjectIdentity.html http://home.pipeline.com/~hbaker1/ObjectIdentity.html
- dschiptsov 14y agoTuned correctly means "throw in more RAM as long as there are no swap and then don't change anything"?)