Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!rutgers!uwvax!uwslh!lishka
From: lishka@uwslh.UUCP (Fish-Guts)
Newsgroups: comp.sys.amiga
Subject: Re: Scheme and XLISP
Message-ID: <366@uwslh.UUCP>
Date: 14 Aug 88 15:27:08 GMT
References: <11655@cisunx.UUCP> <4480@cbmvax.UUCP> <11732@cisunx.UUCP> <11733@cisunx.UUCP>
Reply-To: lishka@uwslh.UUCP (Fish-Guts)
Organization: U of Wisconsin-Madison, State Hygiene Lab
Lines: 69

In article <11733@cisunx.UUCP> ejkst@unix.cis.pittsburgh.edu (Eric J. Kennedy) writes:
>
>I got Scheme from comp.binaries.amiga, and I've had XLISP for a while.
>I don't know much about LISP, but after I graduate I'd like to spend
>some time learning.  Any suggestions about which would be more
>appropriate for learning?  Or which is better overall?  Or anything
>else you'd care to add?

     Scheme was developed around 1975 (at MIT, I think) to be used a
language to teach students the art of computer programming.  It is a
much better language (IMHO) for learning than Lisp, even though it is
a direct descendant from the latter.   Whereas there are many
idiosyncracies in most Lisp's, Scheme was designed to be much more
uniform and the concepts it embodies much more easy to understand.
This is why it is used in the Abelson & Sussman text (I forget the
name), which is the text used in the "introductory" programming course
for Comp Sci majors at MIT.  [BTW, it is a *really* good book, even
for more "experienced" programmers...I highly recommend it.]

     One of the big drawbacks with Scheme is that it was designed to
be an educational language, much like Pascal.  From what I've heard,
all the features of a true "production" language are not there, which
makes it harder to write real-world applications with Scheme.  The
situation is very similar to writing real-world applications with a
vanilla Pascal.

     One of the interesting features of Lisp is that if you learn one
version, it really isn't hard to learn others.  I've programmed quite
a bit in Xerox Interlisp and LOOPS (Lisp Object Oriented Programming
System), use XLisp here at home, have hacked in Gnu-Emacs Lisp to
extend my editor (even wrote a small program in it), have fooled
around with Common Lisp a bit, and prefer this tiny Scheme interpreter
I have lying around.  However, I have never had any real problems
switching between them, as long as I know what the various command
names are.  After you understand the concepts in any Lisp, the other
versions will be rather easy to learn; there will still be some
differences, but not as different as, say, C and Pascal. 

     My advice is to start off learning Scheme.  It is a really well
designed educational language.  After that (or even at the same time)
you can pick up XLisp real easily.  XLisp has the slight advantage of
having some object-oriented commands in it, but if you read the
Abelson and Sussman text, they show how to do Object-Oriented
programming in Scheme (relatively painless).

     BTW, if you want the reference to the above mentioned text, mail
me and I will dig it up.  It is a *really* good book.

>Eric Kennedy
>ejkst@cisunx.UUCP

					-Chris

p.s. I do not have access to comp.src.amiga.  I have heard a lot of
mention of a Scheme grabbed from there lately.  Does anyone know if
this is on a Fish-Disk?  If not, could someone mail it to me over the
net if it is not too big (although it probably is)?  All I have in the
way of Scheme is this tiny interpreter named SIOD, which is a lot of
fun, but is too small for serious programming (it is *only* ~1300
lines of C !).

-- 
Christopher Lishka                 ...!{rutgers|ucbvax|...}!uwvax!uwslh!lishka
Wisconsin State Lab of Hygiene                   lishka%uwslh.uucp@cs.wisc.edu
Immunology Section  (608)262-1617                            lishka@uwslh.uucp
				     ----
"...Just because someone is shy and gets straight A's does not mean they won't
put wads of gum in your arm pits."
                         - Lynda Barry, "Ernie Pook's Commeek: Gum of Mystery"