Subject: Re: How to get a wider audience for CL
From: Erik Naggum <>
Date: 30 Aug 2002 00:09:12 +0000
Newsgroups: comp.lang.lisp
Message-ID: <>

* Kaz Kylheku
| I think that intelligent people can understand a specification without
| requiring rationale.  Rationale is for those who question the design
| decisions described by the specification.

* Pascal Costanza
| I totally disagree.  My working style in learning a new language is to
| absorb its rationale first.  I usually invest a lot of time there before
| I begin to program in a new language.  I don't think that I'm not
| intelligent. ;-)

  I think you two are using "rationale" very differently.  Kaz's usage is very
  close to mine as I understand his last sentence, but it occurs to me that
  Pascal uses it to mean something like the conceptual models of the language,
  which is also a "rationale" but in a much broader sense.  It is like those
  two deeply intelligent questions "who are you" and "what do you want" in
  Babylon 5, to which the answer is not your name and your dinner menu choice.

| No, the case is different.  When I am reading a textbook about ANSI Common
| Lisp I expect it to be correct, and each deviation from the standard to be a
| bug.  When I am reading CLtL2 I know that I expect it to be about a slightly
| different language.

  I think your first expectation is faulty.  I have come to believe, after a
  long discussion tonight over Apple's invocation of the DMCA to prevent its
  customers from burning DVDs on external drives, that many people discuss
  things mainly to determine which "side" of an issue people are on, and seek
  to learn who they agree and disagree with, long before any party understands
  the issues involved.  Some people on the Net seem to read what others write
  with the express purpose to believe it rather than think about it.  I write
  mostly about what I think about and not what I believe.  I read what others
  write to think about it, not to believe it.  Those who inject falsehoods into
  the information flow, however, poison the well of thinking and reasoning.
  However, that which is not false is not necessarily true.  Many things can
  be true at the same time depending on context, so it is hard to determine
  that something is The Truth, but we can fairly easily determine that
  something is false.  If we limit the discussions to what has not already
  been determined to be false, I believe the chance of finding more truth
  increases dramatically compared to a forum where people either post
  falsehoods or limit their discussion to what is already determined to be
  true.  The latter occurs when people are mainly concerned with believing
  (in) what others say.

  So, if you expect what people write to be correct, you will tend to believe
  them before you have thought about what they say.  This is bad for your
  critical thinking ability.  You should, however, expect what they say not to
  be known (at the time it was written) to be false and that they wrote it
  because they thought was valuable in some sense or another.  The economy of
  writing dictates that people do not both blabber endlessly and get published.

  However, the situation that something was true but has become false over
  time is so common in technical writing that I have some philosophical
  problems understanding your position.  You are not reading CLtL2 in order to
  believe it to be useful, but to understand some of the historical record.
  For the same reason, it is actually useful to read CLtL1 or the older Lisp
  manuals.  If your desire is to understand and not to believe, you will not
  be derailed by historic information any more than you are derailed by past
  knowledge that you have had to expire.  It should still be valuable to you.

| No, I don't learn that way, I learn languages by looking at their specs.
| Sorry.

  Sorry to correct you, but you have learned this way up until now.  If your
  past successes also determine your future options, you are likely to limit
  yourself needlessly.  My experience has been similar to yours, but then I
  discovered that I had chosen to learn things that came easy to me.  This
  became quietly self-fulfilling.  I decided to learn new things from the most
  technical source available based on the assumption that it would be easy to
  learn and lost interest in things that did not yield to this successful mode
  of learning.  Then I realized that I had happened on this mode of learning
  by accident and that I had probably been exposed to a number of other modes
  of learning that had not yielded results as quickly or as consistently and
  had simply taken the path of least resistance.  I decided to seek out paths
  of significant resistance and actively to search out counter-information to
  what I already believed to be true.  I read things that I had previously
  thought to be false, invested a lot of time in reading political theories
  that I believed to be wrong and evil for the sole purpose of delaying the
  impulse to agree or believe and to hone my critical thinking by learning to
  listen to arguments before I decided on their truth status.  It has helped
  me /tremendously/ in dealing with issues that did not come easy to me, to
  find that I, too, need to work hard to understand certain topics and most
  topics beyond a certain level.  I had dismissed a number of topics because
  what people were talking about as if it were difficult were in fact trivial
  and hence not worth my time.  It turned out that the entry-level to these
  areas of human knowledge was indeed trivial and boring beyond belief, but
  that there was lots of interesting thinking going on among those who had
  plowed through the tons of trivialties that had shaped their mode of
  thinking and made them able to discuss topics based on massive background
  information.  Instead of reading the specification for the English language,
  I read poetry and literature and found that literary criticism is not trivial
  at all (despite the best efforts of my teachers to make it appear worse than
  pedestrian, unrewarding, and dilettantish).  I found, in brief, that the
  kinds of things for which I /could/ read the specification and the highly
  condensed formal presentations were limited and thus limited me instead of
  making it possible for me to learn interesting things.  I came to believe that
  too much success too early in life in certain fundamentally simple approaches
  could be a curse  and not the gift it was touted to be at the time.

  Sometimes, more information is passed to the reader in a tutorial than in
  the reference for the same material.  It therefore behooves the conscientious
  student to read more than one tutorial to learn of more ways to approach the
  same topic as seen by experts in both the field and in pedagogy.  A critical
  student should also study pedagogy in order to learn how to distinguish bad
  teachers and textbooks from good.  To understand pedagogical presentations
  and their desired effect on readers is no small task.  Most of us learn in
  ways that are hard to communicate to others and the expectation that others
  learn in the same way we do, given that we have chosen how to learn through
  a series of accidentally positive feedback, not through deliberate selection
  among the available learning modes.  Since learning and thinking are not
  taught in our schools, good methodology is largely unavailable until people
  enter college or university, a decade later than it should have been taught.

  I think this should be of value to the Feyerabend project.  Comments?

| In this example, the section about #, provides essential information that is
| relevant for understanding #. So you cannot just skip it. At least not the
| first time.

  There is something I do not quite understand about #,.  The recommended way
  to accomplish very similar results today is to use `load-time-value´.  There
  are some cases where #, and `load-time-value´would differ in semantics, but
  I think it is such a verbose way to request this behavior that people are
  unlikely to want to use it I think #,
  should have been made to expand to a `load-time-value´ form.

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.