> 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
