AKBARI@CS.COLUMBIA.EDU.UUCP (05/07/87)
>Can anyone make a comparison between Wilensky's "CommonLispCraft" and Tatar's >"A Programmer's Guide to Common Lisp"? What are the strengths and weaknesses >of each book? I know about Steele's book but it is in a different >class. >... > Bill Roberts Having spent some time working with several people in learning to become programmers, I have a few comments regarding books available (titles are approximate, don't have them in front of me): in general, experience points to several important needs when teaching & selecting stuff: - students learn well by studying *working* examples, both in terms of how to program as well as details like style, data abstraction, etc. providing well-documented examples motivates all sorts of queries regarding syntax, efficiency, portability, etc. as well. - the trade-off between presenting concepts & gory details is a personal matter, but i've found that some amount of both needs to done at the beginning. once the student begins to think in the mind-expanding frame of lisp (rather than, say, c), more & more details can be presented, relying on the student himself to find out about implementation details on his own. COMMON LISP not familiar with tartar's book. the following three are the best I know of for learning. would recommend using winston & horn and wilensky almost concurrently initially (personal choice as to which offers a clearer intro to lisp concepts), followed by the second half of winston & horn for applications. those interested in learning much more about hacking should spend more time with wilensky. steele tends to be useful after one has learned a fair amount about lisp hacking in general. would use with abelson & sussman _structure & interpretation of computer programs_ (mit press) for great intro to concepts (streams, data-driven programming, ...). steele. _common lisp: the language_ digital press, 1984. besides being the de facto standard in most ways, it is also helpful when trying to port across machines (much easier than lugging around documentation for symbolics, ti, lucid, vax lisp...). also good for those late-night hacking sessions (steele manages to imbue mind-boggling minutiae [spelling?] with a dash of humor). not necessarily recommended bedtime reading, however (except for masochists). wilensky. _commonlisp craft_ norton. an excellent, readable intro to common lisp hacking, with just the right blend of tutorial & documentation. tends to go much more into the details of common lisp than does winston & horn, but still in a readable, useful format. last chapter or so presents a pattern matcher. winston & horn. _lisp_ (2nd edition) addison-wesley. good, readable intro to lisp in general, with common lisp almost an incidental choice of dialect. tends to rapidly leave low-level details in preference for looking at ai applications of lisp. very helpful in introducing people to concepts that have been robustly developed elsewhere (e.g., there is a simple frame system, simple intro to object oriented programming via FLAVORS, mathematical examples, pattern matcher, expert system inference engine, etc.). PROLOG prolog is as different from lisp as lisp is from c, at least in terms of teaching it. would begin with bratko, followed by sterling & shapiro after student has done a bit of prolog programming. introduce clocksin & mellish somewhere in between. bratko. _introduction to prolog programming for artificial intelligence_. addison-wesley. great intro to the language. presents just enought about backtracking, unification, etc. along with examples to be of real value. gives many examples & exercises. not too much humor, though. examples of searching, expert system shells, games, etc. sterling & shapiro. _the art of prolog_. mit press. excellent book on advanced topics in prolog: garbage collection, efficiency, top-down vs. bottom-up construction of data structures, etc. many such topics have not been covered elsewhere, and are done very well. would not recommend to inexperienced, motivated people; first part tends to be a mathematical intro which may not be appealing to some. clocksin & mellish. _prolog_ springer-verlag. standard text. a little hard to read at times, tends to bog down in gory details before reader has feel for language as whole. let me know if this helps. john c akbari ARPANET & Internet akbari@CS.COLUMBIA.EDU BITnet akbari%CS.COLUMBIA.EDU@WISCVM.WISC.EDU uucp & usenet ...!seismo!columbia!cs!akbari DECnet akbari@cs PaperNet 380 riverside drive, no. 7d new york, new york 10025 usa SoundNet 212.662.2476 -------