Subject: Re: one small function
From: Erik Naggum <erik@naggum.net>
Date: Thu, 07 Feb 2002 08:01:23 GMT
Newsgroups: comp.lang.lisp
Message-ID: <3222057684108542@naggum.net>

* "P.C." <per.corell@privat.dk>
| Guess the difference Sceme/Lisp are very small but important

  They are so large that someone who has been trained in Scheme has no hope
  of ever learning Common Lisp, because they _think_ the differences are
  very small despite strong evidence to the contrary, and because it is
  possible to write Scheme in Common Lisp, they will never be "offered" the
  necessary negative feedback necessary to "get it".

  I think the problem is that most people who have not been made aware of
  this fallacy at a young age have an unnerving tendency to think that they
  know something if it looks like something they know, and the less they
  _actually_ know what they think they know, the more they think something
  that looks the same to them, also _is_ the same.  In a world of physical
  objects, this is probably not such a bad idea.  The number of things you
  need to examine to determine that something is a duck is quite limited.
  This changes with man-made objects, and even more with purely man-made
  constructs like the infrastructure of a society or programming languages,
  where you have to be able to distinguish differences between _versions_
  of what is actually _marketed_ as the same,  For instance, if you plan
  according to the tax law or the Java version of a year ago, you are in
  trouble.  This leads to a reversal of an important relationship between
  identity and details: In the physical world, if you find large similar
  properties between something new and something you know, you are quite
  justified in concluding that you know what it is, but in the man-made
  world, especially that of ideas, it is more important to look carefully
  after you have discovered large-scale similarities than before.

  For man-made things and ideas in particular, the belief that what looks
  the same is the same is an anti-intellectual attitude towards one's
  knowledge and actually betrays a lack of understanding of that which is
  believeed known.  Also, since this belief is most probably not restricted
  to one particular area of knowledge, but is a result of methodological
  errors in reasoning and learning, there is no chance at all to make such
  a believer realize that he does not actually know what he believes he
  knows until he runs into a very serious problem that he cannot resolve
  well enough for comfort.  Only when programming is made into a "team"
  effort which exposes newbies to the critical review that only gurus can
  provide, and gurus themselves acknowledge that new gurus may arise worth
  listening to, can the necessary feedback loops work well enough that good
  knowledge drives out bad.  Today, we have a lot of people who are quite
  convinced of their own competence mainly because they have never been
  challenged beyond what they already know.

  The tragedy is that "looks the same, is the same" is not commutative.  If
  you learned Common Lisp well and then found Scheme, it would be nothing
  more than some old home-made toy discovered in your parent's basement --
  cute and all that, but not worth playing with for long, because all of
  the stuff you think a real programming language should have are simply
  not there.  If you learned Scheme first and then found Common Lisp, it
  would seem just like Scheme, because what you have come to think of as a
  "programming language" is basically so little that you would not even
  comprehend all the stuff in Common Lisp that is not like Scheme at all.

///
-- 
  In a fight against something, the fight has value, victory has none.
  In a fight for something, the fight is a loss, victory merely relief.