Subject: Re: Guide to Lisp, v1.20 From: Erik Naggum <erik@naggum.no> Date: 28 Aug 2002 14:45:58 +0000 Newsgroups: comp.lang.lisp Message-ID: <3239534758782504@naggum.no> * Knut Arild Erstad | Also, you might be interested in the book "Structure and Interpretation of | Computer Programs" by Abelson and Sussman, which is available online at | http://mitpress.mit.edu/sicp/full-text/book/book.html. IMHO it is one of | the best books on programming available. It uses Scheme, but even people | who don't like or don't use Scheme will benefit greatly from it. I have just recently completed the first pass of two other MIT Press books. Gerald Jay Sussman and Jack Wisdom with Meinhard E. Mayer: Structure and Interpretation of Classical Mechanics, which uses Scheme to do exploratory mathematics, and this is really exciting. Never quite got the hang of fluid mechanics (I wrote much of the support software for a girlfriend who wrote her thesis on turbulence in narrow tubes, but had no time to delve into the reasoning behind the exploratory computations), but this enjoyable book lets me toy with the world of classical mechanics in a way that is reminiscent of the old text-based virtual reality-games. Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi: How to Design Programs; An Introductino to Programming and Computing, which also uses Scheme as the teaching vehicle. I found it much a better book than SICP 2, which I have yet to make a full pass through even thought I bought it long ago with that express intention. Amazon.com's look inside feature has ignored the preface, which I find unwise, because it sets the stage excellently. I take the liberty under the fair use doctrine to quote the first few paragraphs from it. It goes against the grain of modern education to teach children to program. What fun is there in making plans, acquiring discipline in organizing thoughts, devoting attention to detail and learning to be self-critical? -- Alan Perlis, Epigrams in Programming Many professions require some form of computer programming. Accountants program spreadsheets and word processors; photographers program photo editors; musicians program synthesizers; and professional programmers instruct plain computers. Programming has become a required skill. Yet programming is more than just a vocational skill. Indeed, good programming is a fun activity, a creative outlet, and a way to express abstract ideas in a tangible form. And designing programs teaches a variety of skills that are important in all kinds of professions: critical reading, analytical thinking, creative synthesis, and attention to detail. We therefore believe that the study of program design deserves the same central role in general education as mathematics and English. Or, put more succinctly, *everyone should learn how to design programs*. Of course, I'm an old fart and I ground my baby teeth on The Little Lisper back in 1978 or so and consider Scheme to have great educational value, but also serious dangers and drawbacks when the student does not realize that one cannot hope to keep the baby teeth just because it is painful to replace them with the real killer teeth. (roar) => t. -- Erik Naggum, Oslo, Norway Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.