4 ms·
This book comes up in #lisp on freenode every so often, and the channel is generally split on whether or not to recommend it. I generally do. It's fun and lig
by stevelosh 9y ago
This book comes up in #lisp on freenode every so often, and the channel is generally split on whether or not to recommend it. I generally do.
It's fun and lighthearted. Using games as a medium to teach the language is something some people enjoy, and is a lot less dry than most programming books.
It avoids taking sides on the editor war, by just ignoring it altogether and teaching Lisp. This is refreshing compared to most books, which hit you with the Emacs cinderblock to the face right in the preface.
It also stays away from ASDF and Quicklisp and even the entire package system in general, which is a lot of extra complexity that can be overwhelming to beginners at first (though they'll eventually need to learn about this if they want to continue using Common Lisp).
The main issue people have with the book is that it uses CLISP-specific code in a few places. CLISP's last release was seven years ago, and because it hasn't really been maintained it's beginning to bitrot. Folks in #lisp generally don't recommend using CLISP these days, instead recommending actively-maintained implementations like SBCL, CCL, ECL, ABCL, etc.
Using CLISP-specific code does allow the book to sidestep the issue of the library ecosystem, which is a plus. But a revamped version (or even a collection of errata) that ported the CLISP bits to a maintained implementation would make it a lot easier to recommend these days.
- kbenson 9y ago> This is refreshing compared to most books, which hit you with the Emacs cinderblock to the face right in the preface. While if they use Emacs' lisp features that approach could be useful for some people (mainly those unfamiliar with or undecided on an editor to use), it's likely to strike others that don't already use Emacs as extremely annoying. I'm glad I haven't encountered that (but I haven't read a book on Lisp either).
- zeveb 9y ago> The main issue people have with the book is that it uses CLISP-specific code in a few places. CLISP's last release was seven years ago, and because it hasn't really been maintained it's beginning to bitrot. Folks in #lisp generally don't recommend using CLISP these days, instead recommending actively-maintained implementations like SBCL, CCL, ECL, ABCL, etc. Note that CLISP is actively maintained; the most recent change was three hours ago: https://sourceforge.net/p/clisp/clisp/ci/63508ea11cf0b2062ca62031ab1edddb5f72e7b0/ https://sourceforge.net/p/clisp/clisp/ci/63508ea11cf0b2062ca... I have no idea why the maintainer hasn't released a new version since 2010. Doesn't make any sense to me. I use SBCL, but CLISP is still alive.
- flavio81 9y ago>The main issue people have with the book is that it uses CLISP-specific code in a few places. This makes sense for a tutorial book, since CLISP is easy to install, very small to download (compared to SBCL), and is a fully featured (ANSI compliant) implementation. So i don't think it was a mistake to choose CLISP. The recommendation in #lisp for SBCL over CLISP might be because SBCL is nicer to the programmer, offering more features. Also, code runs very fast under SBCL; although i suspect that CLISP compiles code faster. (If any is interested, here is a quick overview on some of the Lisp implementations available and their salient features. (Most implementations are free) ECL - Embeddable Common Lisp allows you to compile Lisp into any other system by compiling to C SBCL - Steel Bank Common Lisp Produces very fast code, allows static type checking and other niceties a fork from the CMU CL impl. CLISP Small, easy to install and use, includes readline REPL and X11 features ABCL - Armed Bear Common Lisp Allows you to run Lisp under the Java JVM and call Java code, or call Lisp code from Java. CLASP Compiles Lisp to the LLVM, provides C++ interop ACL - Allegro Common Lisp Commercial Lisp, fast, feature rich includes a Prolog implementation, CLIM GUI and other nice stuff. LispWorks Commercial Lisp, fast, feature rich, includes an IDE, Java Interface, and CLIM 2.0 implementation, more features. ParenScript This is a small subset of CL that gets translated (in the server) to javascript JSCL A Lisp implementation that runs under Javascript, providing a REPL and Lisp interpretation on the browser, for a subset of the CL language. )
- PuercoPop 9y agoIt is also because CLISP is unmaintaned. But the only implementation dependant code I remember is the socket code. But CLISP wasn't unmaintaned when the book was written más its default REPL is much better than other implementations. It was a good choice at the time.
- krylon 9y ago> CLISP is unmaintaned AFAIK, it is not really unmaintained, the developers just haven't done a release in years. When I fire up CLisp on openSUSE Tubmbleweed (their rolling release distro), it says Welcome to GNU CLISP 2.49.60+ (2017-06-25) <http://clisp.org/> That would make me think that development might have slowed down, but not stopped.