Practical Common Lisp (2009)
11–20 of 91 posts
Re: Practical Common Lisp (2009)
#12Can anyone please comment what advantages and short-comings Common LISP has over "modern LISP" (i.e. Clojure)?
Unfortunately they’ve moved to slack for their communication. The clojure group on google is pretty stagnant which is too bad. Topic threads are the exception in a chat room.
Conversations in a forum like groups can serve as their own documentation. Chat logs have to be deciphered.
Re: Practical Common Lisp (2009)
#13Can anyone please comment what advantages and short-comings Common LISP has over "modern LISP" (i.e. Clojure)?
Mature native code compilation (including runtime assembler), type declarations that lead to optimizations in generated code, SBCL compiler can use declared types for compile-time type checks, read/compiler macros, extremely easy interface to C (JNI is a pain in the ass), multi-paradigm and doesn't prematurely optimize like Clojure (I have no need for STM or immutable data structures in 99% of the things I do), very powerful and flexible debugger, CLOS, more sophisticated interactive development.
Clojure is a no-go for me primarily because it's tied to the JVM (or worse, Javascript) and the Java ecosystem but also because it prematurely optimizes with the sort of decisions it has made in the design space (immutability, STM, crippled reader, not Lispy-enough debugging and so on).
Common Lisp is much more flexible in the sort of problems it allows you to explore and attack. Even the special features of Clojure (STM, immutable data structures) can be used in Common Lisp via existing libraries.
Finally, for me Lisp == Lisp Machines and Clojure is a big step back in that regard (and not really modern at all) since it de-emphasizes (by lacking things that Common Lisp has) the interactivity that made Genera so iconoclastic and powerful.
Re: Practical Common Lisp (2009)
#14Earlier quoted context omitted.
Has anything really changed, though? QuickLisp, I guess, but that feels like about it.
Also Lisp in a Box is no longer available. Nevertheless this book is always on my desk. I refer to it almost on a weekly basis.
Re: Practical Common Lisp (2009)
#15Re: Practical Common Lisp (2009)
#16Can anyone please comment what advantages and short-comings Common LISP has over "modern LISP" (i.e. Clojure)?
(Mostly talking about SBCL) Mature native code compilation (including runtime assembler), type declarations that lead to optimizations in generated code, SBCL compiler can use declared types for compile-time type checks, read/compiler macros, extremely easy interface to C (JNI is a pain in the ass), multi-paradigm and doesn't prematurely optimize like Clojure (I have no need for STM or immutable data structures in 99…
But, I too am not necessarily a huge fan of the ecosystems that Clojure is presently tied to. I'd love to see an SBCL implementation of Clojure or (especially) an LLVM based Clojure. I'm grateful when Clojure offers me an out from writing Java, but I also feel like I need to understand both the Java and the Clojure.
The Rackjure dialect of Racket is pretty nice by my estimation (adds some of the conveniences of Clojure, isn't tied to / the beneficiary of an ecosystem like the JVM or Javascript). But I suspect it would frustrate people who like aspects of the CL ecosystem like long-lived system images, and a very neutral disposition toward immutability and functional programming.
Re: Practical Common Lisp (2009)
#17Note that while this is one of the really good books on Common Lisp it is not new. The copyright is 2003-2005.
Any halfway good language has a constant procession of new books being cranked out about it. Reading a new "bible" is required every 3 to 5 years, along with updates to your entire code base.
Re: Practical Common Lisp (2009)
#18This is a great book, but the subject of dealing with mp3s looks painfully dated.
Re: Practical Common Lisp (2009)
#19Earlier quoted context omitted.
I wonder what would be a great replacement topic nowadays. Ruby on Rails era was the blog in 5 minutes. What is "the project" now?
Building a data pipeline? Some kind of CV problem? Async chat server?
Re: Practical Common Lisp (2009)
#20Earlier quoted context omitted.
Any halfway good language has a constant procession of new books being cranked out about it. Reading a new "bible" is required every 3 to 5 years, along with updates to your entire code base.
Common Lisp Recipes by Edi Weitz is the most recent 'bible'. Another excellent book.
As for introduction, another nice book is Land of Lisp - it introduces you to most of Common Lisp by means of writing games of increasing complexity.