[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Scheme for AI based CAI

I've been involved pretty deeply in the Common Lisp design effort for
several years.  For what it's worth, I agree with most of what Tim Finin
said about Common Lisp vs. Scheme for education.  Common Lisp has a lot
of ugly things in it that are there for compatibility with older Lisps,
for efficiency on certain machines, and for support of large systems.
There are a lot of features built into Common Lisp that increase the
conceptual load on the first-time user, but that are valuable for the
experienced user who has to do a big job in a hurry.

Scheme is smaller, cleaner, and more willing to break with some of the
bad ideas of the past.  I would use Common Lisp for any really big job,
especially if it needs to be portable to a lot of machines.  At some
point, if I were training students to go out into the world and design
intelligent systems, I'd make sure that they were exposed to Common
Lisp.  But for teaching the fundamental principles of Computer Science,
Scheme provides equal or better support, with many fewer distracting
features and mis-features.

I think that students trained in Scheme would have no trouble learning
Common Lisp later, though it would be useful to warn them about the
separate function and value namespaces in Common Lisp before they get
too used to Scheme's way of doing things.  And I'd try not to present
Scheme in such a way that the students will be too pure to deal with a
"dirty" language like Common Lisp when the time comes.  Some of that
dirt is there for a reason, and the rest is the price we had to pay to
make Common Lisp a widely agreed-upon standard.

In the long run, I don't think that the need for a larger machine to run
Common Lisp will matter: the only real difference in resource needs is
that Common Lisp needs a couple of megabytes more than Scheme (either
real or virtual memory will do) to hold the full language, and that
difference tends to wash out once megabit memory chips start turning up
as the prize in Cracker Jacks.  But for the next year or two, the choice
on the smallest machines will be between a full Scheme and a very
stripped down Common Lisp, and under those conditions Scheme wins.

I hope that Scheme won't become the Pascal of the 90's.  I hate Pascal.

-- Scott Fahlman