| |
What is Lisp?
Lisp is a family of programming languages descended from
a language John McCarthy invented
(or more accurately, discovered) in the late 1950s. The
two main dialects now are Common Lisp and Scheme.
We're working on a new dialect called Arc.
How can I learn Lisp?
The way to learn any language is to write programs in it.
You have two main dialects to choose between: Scheme
and Common Lisp. They each have advantages and disadvantages,
but the differences between them are tiny compared to the
differences between them and other languages, so if you want
to start learning Lisp, it doesn't matter which you choose.
There are good books about both dialects, and many good free
implementations. So get a book and an implementation, and start trying to write
programs. Read existing source code to get an idea of Lisp
style. If you run into trouble, ask on comp.lang.lisp.
People there are always willing to help newbies.
Which should I learn, Common Lisp or Scheme? What's the
difference?
Common Lisp is powerful but ugly.
Scheme is small and clean, but the standard only defines the
inner core of the language. If I had to deliver an application
I'd probably use Common Lisp; if I were teaching a course I might use
Scheme (but with Common Lisp macros).
Do you know a good, free Lisp implementation?
There are several. The Common Lisp implementation
I use
is Clisp, but
CMUCL is also well-regarded.
For Scheme hacking I use Scheme
48 and PLT Scheme.
Can you recommend a book for someone who wants to learn Lisp?
You might like
this one.
Is there a good online tutorial for Lisp?
Start with
Chapter 2
of Ansi Common Lisp, which is a brief introduction to Lisp programming.
For more detail, see the Common Lisp
reference
manual.
If Lisp is so great, why don't more people use it?
The root cause is probably that it looks hard, but
it would help if there were a dialect with extensive libraries.
Where can I get a copy of On Lisp?
Thanks to Chip Coldwell, you can now get a Postscript
file of it online.
It looks as if the book is going to be in print again
soon, but if you are determined to have a valuable
first edition, you can get a used copy at
Amazon.
Is there a second edition of ANSI Common Lisp?
Some databases say that there is, but there isn't; not yet
at least.
Is there a set of solutions to the problems in
ANSI Common Lisp?
Unfortunately not. I was supposed to write one, but
we started Viaweb right after the
book went to press, and I never got around to it.
Where can I get a job hacking Lisp?
Try the companies with Lisp applications.
Or you could start your own.
I like Lisp but my company won't let me use it. What should I do?
Try to get them to let you use Python. Often when your employer won't let
you use Lisp it's because (whatever the official reason) the guy in charge
of your department is afraid of the way Lisp source code looks.
Python looks like an ordinary dumb language, but semantically it has a
lot in common with Lisp, and has been
getting closer to Lisp over time.
They might even let you use Ruby, which is even more Lisp-like.
What do you think of ML and its derivatives?
Most hackers I know have been disappointed by the ML family.
Languages with static typing would be more suitable if programs were
something you thought
of in advance, and then merely translated into code. But that's not
how programs get written.
The inability to have lists of mixed types is a particularly crippling
restriction. It gets in the way of exploratory programming (it's
convenient early on to represent everything as lists), and it
means you can't have real macros.
Do you know anyone who does AutoLisp consulting?
No, but Google
does.
|
|