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.