
A possible approach to learning Common Lisp  - icey
http://deepaksurti.com/lisp/learning.html
======
lars
Advice no. 1 is to switch OS if you're a windows user? That's bad advice.
LispBox works great, and the hurdle of changing OS isn't going to help you
learn Common Lisp.

Lisps have got to be the easiest family of languages to get started with.
Learn the syntax of a function call, and you'll understand most of the code
you're seeing. Understanding it in depth is a bigger undertaking, of course.

~~~
mahmud
Yep, I wrote 10k lines of lisp code on Windows and it builds on linux (a
different implementation) unchanged. yesterday i built my app with Clozure
Common Lisp, for the first time, and it ran from the first try. Two OSes,
three implementations, tens of dependencies .. flawless.

~~~
aerique
Suggesting to change your OS when you're on Windows is indeed bad advice.
Clozure Common Lisp is a fine CL implementation for Windows and works well
enough with Emacs and Slime.

Emacs shouldn't be too much of a problem with version 23 and some sane
Windows-oriented keybindings and CUA mode enabled. Perhaps someone (maybe me
when I've got the time) should just put a good Emacs configuration online for
people wanting to play with CCL, Emacs & Slime.

Then again, Lispbox might be good enough as well. I've never checked it out.

------
Shooter
If you're completely new to programming (or rusty), I'd recommend "A Gentle
Introduction to Symbolic Computation" before PCL or ACL.
<http://www.cs.cmu.edu/~dst/LispBook/>

It's a really great, free resource for beginners that will help you get ready
for the other books.

------
rw
I think that going from Scheme to CL is much easier than the converse;
Scheme's syntax is more straightforward (e.g. there's no #' for funcall), and
there are fewer conceptual edge cases. If you use PLT Scheme, too, you get
Lisp-n (not Lisp-1 nor Lisp-2) with the module system.

Scheme is a conceptual superset of Common Lisp (cf. continuations), although
CL has more built-in practical functionality (CL is typically faster
(exceptions include Stalin, Bigloo), and has possibly better-implemented
libraries).

One might learn both concurrently!

~~~
old-gregg
I have gone through "Practical Common Lisp", went through pains of integrating
CL into vim, did my share of googling for libraries and found CL to be
impractical for production use (for my projects). Yet I keep seeing the
argument in favor of CL because it's got more libraries and "built-in
practical functionality".

Can you please elaborate? I haven't played with Scheme yet, but
<http://docs.plt-scheme.org> looks more impressive than anything I've seen for
CL so far: lots of stuff in one place and guaranteed to work.

Thanks!

~~~
rw
I, too, am basing the libraries claim on others' opinions. I quit CL because I
found the system too complex to fully grok, and what 21st-century technologies
I needed were not standardized (see: concurrency). I would've been stuck
either a) only able to use one implementation, like SBCL, or b) trying to roll
my own half-assed implementation of a notoriously-huge language.

There is a very nice chunk of CL that is good at what it does, is fast as
hell, and nice to code in. But there is _so much_ cruft attached!

------
radu_floricica
Right now I'd recommend anybody to just go with Clojure. Other then that, it's
a pretty common-sense article. The Unix choice is controversial but truth is,
most powerful lisps are not windows-compatible and definitely not windows
friendly. Between emacs and vi I'd suggest the one more familiar, or a third
one if that's the case. Lisp has a steep enough learning curve not to need a
new environment to learn alongside.

~~~
icey
I love Clojure, but SBCL is seriously ass-kickingly good software as well.
It's a matter of taste, I suppose.

Go with Clojure if you:

    
    
        Want / need to interop with Java
        Want to use Clojure's cool STM
        Want to be specifically functional 
        Be one of the cool kids.
    

Go with SBCL / Common Lisp if you:

    
    
        Want to use cool stuff like Cells & Hunchentoot
        Want to make your way through PAIP, PCL, On Lisp 
           (In other words, lots of documentation for CL!)
        Want a multi-paradigm language (CLOS is awesome)
        Be one of the cool kids.

~~~
briancooley
I agree with you, but I thought I would add that Clojure has the dataflow
library in clojure.contrib that does some of the same things as Cells. It
doesn't have Mr. Tilton, though. ;)

~~~
mahmud
Common Lisp is the only language that supports Mr. Tilton as a first-class
object.

------
DrJokepu
I can't say I agree with his platform of choice - Lisp In A Box on Windows has
been excellent choice so far for me for learning Lisp. No problems at all.

------
J_McQuade
Seems dead to me - HN'd into in inoperability, perhaps?

[edit] Just noticed it's been posted to reddit, too. Surely it didn't stand a
chance!

~~~
mcav
Google Cache:
[http://74.125.95.132/search?q=cache:_OIX7VMqqToJ:deepaksurti...](http://74.125.95.132/search?q=cache:_OIX7VMqqToJ:deepaksurti.com/lisp/learning.html+http://deepaksurti.com/lisp/learning.html&hl=en&client=safari&gl=us&strip=1)

------
rman666
Also consider trying new version of newLisp (called newLisp-GS). A very nice
version of Lisp with a built in GUI IDE. I just discovered it (again) the
other day and was surprised by the vast documentation and ease of use. It's a
great way to learn Lisp. Highly recommended.

~~~
kevbin
That's one "lisp" with which no one need bother. see, e.g. <http://lambda-the-
ultimate.org/node/257#comment-1901>

<http://www.alh.net/newlisp/phpbb/viewtopic.php?p=2776>

[http://groups.google.com/group/comp.lang.scheme/browse_frm/t...](http://groups.google.com/group/comp.lang.scheme/browse_frm/thread/997dc59b8ebb1749/af62130eefafd338?pli=1)

~~~
rman666
Those were written in 2004 and 2005! I know newLISP might not be thee lisp for
everyone. All I'm saying is it's free, it's available on Windows, Mac, and
Linux (and more), It's got a decent graphical IDE and it's Lisp. Give it a try
before digging up 5-year old articles; no?

