> Can some experts suggest which one is better(Scheme or LISP), in terms of:

The following is my personal opinion after working with SBCL,
Gambit/Scheme, PLT/Scheme and Emacs Lisp.

I started off with Common Lisp and SBCL. With certain Emacs modes and
Slime, it's a pleasure to work with Common Lisp. It is, however, a
very difficult language and the Hyperspec can be very confusing. As
far as literature is concerned, I think PCL (Practical Common Lisp) is
overrated and OnLisp is a little too advanced. #lisp @irc.freenode.net
is a fantastic place to learn though.

Emacs Lisp is a slow and featureless language. After writing CL, Emacs
Lisp feels like C where every object is a LispObject* - integers have
limits, there are no closures or lexical bindings, and people often
use "global" variables. You will get no support or documentation for
this language whatsoever apart from the info pages distributed with
Emacs. People on #lisp will throw you out and people on #emacs won't
teach you how to write code. Because of its nature, it's easy to write
terrible code in Emacs Lisp. Therefore, I believe it is necessary to
first learn Common Lisp to be able to write good and elegant code in
this language. While people would generally discourage it, I've
written a huge Elisp application in CL-style. You can see it here:
http://github.com/artagnon/ublog.el

Finally Scheme. It's a minimalistic language whose complete draft
specification is the size of the index of CL's. It focuses on the
functional part of Common Lisp and has features like the famous
call/cc. However, due to its minimalistic nature, there more learning
resources than practical libraries for this language. The language is
very easy to implement too, so there are tons of implementations, each
with their own share of strengths and weaknesses- PLT/Scheme is a
probably a fantastic starting point. The distributed and recommended
editor is DrScheme- personally, it annoys me to no end that Scheme <->
Emacs isn't great. Gabmit/Scheme can compile Scheme directly to C and
is useful if you want to avoid using FFI (Foreign Function Interface).
The Wizard book (SICP: Structure and Implementation of Computer
Programs) is a great starting point for theoretical computer science
in Scheme. It's a good language to play around with continuations and
coroutines, but I'm a little skeptical about its practical
application.

p.s- You might want to look into Clojure too. It's a Lisp that
describes itself as CL without the historical baggage. It aims to
become a mainstream programming language.


-- 
Artagnon (.com)
_______________________________________________
To unsubscribe, email [email protected] with 
"unsubscribe <password> <address>"
in the subject or body of the message.  
http://www.ae.iitm.ac.in/mailman/listinfo/ilugc

Reply via email to