Oh my goodness. My old lisp tutorials are on HN again.<p>Before anyone takes potshots, please understand that these tutorials have a <i>very</i> specific purpose: to get our AI students up and coding AI projects as quickly as possible given what they know (C++/Java). So instead of talking up front about the things that make Lisp special, I'm basically talking about how to write C in Lisp. Hence, the tutorials don't ever discuss CLOS, macros, advanced packages, conditions, streams, the type lattice, SLIME, ASDF, Quicklisp, indeed any installable packages at all. Because we get to many of those things, and the wonders of Lisp, later in the class.
Just print this, even if you won't ever use CL <a href="http://clqr.boundp.org/" rel="nofollow">http://clqr.boundp.org/</a><p>It is a quick reference guide consisting on a set of pages that can be stacked together to form a little booklet. Beautiful to look at.<p>I wish I had this for other languages and cannot recommend it enough.
> Closures are examples of powerful things which C++ simply cannot do.<p>Not true anymore. This article seems rather old, considering it refers to Racket as "PLT Scheme" here: <a href="http://cs.gmu.edu/~sean/lisp/" rel="nofollow">http://cs.gmu.edu/~sean/lisp/</a>, so it's at least 7 years old, possibly older.
I like the early introduction of the debugger. One of the more interesting features of CL, in my experience, is the conditions and restarts system... and built in debugger.<p>One approach to development in CL is to evaluate a form you would like to have. You end up in the debugger. You write the implementation until the error goes away. Repeat until you have a working system... interactive, hate-driven development at its finest.<p>In fact that's one of my favourite things about CL: it's so interactive that it almost never crashes. You can still interact with your program, see all of the data, debug it, and <i>continue</i>.
Does Lisp Suck?<p>If HN had a FAQ this might be near the top. As new people go into CS they seem to be aesthetically drawn to, or repulsed by, Lisp. The irony is there is no objective truth so these two groups of people spend a lot of time supporting their arguments (google search will amaze you, even Paul Graham has been sucked into this) but it's not very common for people to change sides after their initial indoctrination.<p>I have come to view this as one of few (only?) metaphysical topics seriously discussed in computer science.<p>Someone on SO once said:
'the correct Lisp answer is more gnomic. Something like: "If you have to ask, you are not ready." Then if anyone questions further, the correct answer is either "yes" if it's an either/or question or "You are not ready."'
If you are really in a hurry and can't commit to learning the hundreds of forms in Common Lisp, Scheme is a minimalist alternative. The entire language has only a few forms on which make up everything else.
What are some compelling examples of Lisp languages in use today in apps/situations/use-cases that we might all know about?<p>A lot of people (likely mistakenly) think that it's just a language you learn in CS classes and then leave behind.
The lisp quickstart is indeed one of the key advantages of lsip:<p><pre><code> $ time sbcl --script hello.lisp
Hello World!
real 0m0.026s
user 0m0.009s
sys 0m0.013s
</code></pre>
Compared with languages with a much bigger starting curve:<p><pre><code> $ time node hello.js
Hello World!
real 0m0.113s
user 0m0.052s
sys 0m0.022s</code></pre>
An old write up, but it shows the style of repl programming. I have been using Common Lisp since the 1980s, and for me it is all about using a bottom up interactive programming style - same as programming in Haskell, Ruby, Python, Scala, etc.
The author posts to HN sometimes: <a href="https://news.ycombinator.com/user?id=SeanLuke" rel="nofollow">https://news.ycombinator.com/user?id=SeanLuke</a><p>(I was a grad student in one of his classes many years ago.)
Since Lisp flamewars are to the average Hackernews what catnip is to a cat, Hackernews pounces on a years-old quick-start guide to Lisp for university students who took AI as an elective to meet their major requirements, and who will likely end up hating Lisp with the fury of a thousand suns by the time they graduate.<p>The Clojure Inquisition stops by to remind everybody that what really matters in programming languages is how many hipsters you can attract into your fan base.