Subject: Re: Guide to Lisp, v1.20 From: Erik Naggum <erik@naggum.no> Date: 28 Aug 2002 17:57:58 +0000 Newsgroups: comp.lang.lisp Message-ID: <3239546278551958@naggum.no> * Pascal Costanza <costanza@cs.uni-bonn.de> | However, they don't help you as a Lisp newbie because you spend much more | time on reading other people's code than writing your own. I haven't seen | example Lisp code that actually used "first" and "rest". Certainly a valid point, but I think it aids understanding nonetheless to explain that `first´ and `rest´ are the "modern" versions of `car´ and `cdr´ and that other languages have `head´ and `tail´. The latter may have some sexual connotations that may or may not make the reader remember things better. Bumber sticker texts like "my other car is a cdr" may also help. Anything to make people get used to these common words in Lisp code. | Furthermore, when you learn a new language you also have to learn its | idiomatic use. There's no way around this. Very true. | I also know this book but it is a book on programming in the first place | that just happens to use Scheme. If I want to learn a new language I don't | want to learn about computer science from scratch again. Sometimes, the only way to learn something really well is to revert to the state of mind of a novice and reawaken to the raw observations that you have accumulated instead of relying on the conclusions you have reached from the exogenous premises absorbed through teaching and bookish learning. (This may trigger Zen receptors in some people. :) I enjoy reading new introductory textbooks, because not only the does topic evolve, pedagogical principles change, too. Different authors have different angles on the same topic and approach abstractions along widely differing paths. I read Apostol on Calculus and Analysis in high school, was forced to use Edwards and Penney at the U of Oslo, but discovered that much had happened from the first to the fifth edition, then went back to Courant and John. I really enjoy helping other people grasp something difficult through unexpected means, to get them out of their usual mode of thinking. Nothing beats exposure to several different ways to explain the same concept to get rid of artefacts of one style. The same applies to computer concepts, where there are so many vastly different approaches to the same core ideas. The ability to recognize the same thing in different clothing and shapes is like being able to read both handwriting and print mirrored and rotated or the ability to manipulate 3D objects in your head. It takes serious amounts of practice, but, like juggling, teaches you something you could not explain without knowing it. Computer programming is like the ablility or skill to see what Picasso saw from all the different angles at once. If it is an art, the crucial element of art is to look at things from an angle that produces new insight or at least has that potential. The fall-out of reading lots of textbooks at various levels is that you can actually recomment something to people. "This is the best book I have read on <whatever>" has no merit if you have only read one. The incredible chore of an academic education or even a liberal education acquired on your own from reading something like the Harvard Classics or Britannica's Great Books is that the whole point is to acquire the ideas of many people and this is painfully time-consuming. But if you only want one other person's ideas or are inclined to believe only one set of ideas at a time, I hope it is not confused with education. -- 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.