Subject: Re: "Well, I want to switch over to replace EMACS LISP with Guile."
From: Erik Naggum <>
Date: 16 Oct 2002 22:27:30 +0000
Newsgroups: comp.lang.lisp
Message-ID: <>

* Joe Marshall
| Comparing *anything* to C++ will give an artifically favorable
| impression.

  This is unfair.  If I want to make something, /anything/, look great, I
  would take Perl, HTML,, George W. Bush, Microsoft, etc, and
  voilà! it is great.  Since I have good friends (or at least one) who has
  claimed quite strongly that C++ is not as bad as it was when I made a
  serious effort to learn it back in 1993/4 and then made a serious effort
  to build a second carreer as a writer just to make sure that if I should
  be "forced" to program in C++, I would at least have a way out, I refuse
  to go below "braindamaged" for C++.  The other things listed above are
  willfully evil and destructive.  I want to say "well, at least it is not
  braindamaged" instead of "well, at least it is not evil".

| I suspect that you would very quickly develop a much less charitable
| opinion of Java if you had to write some production code in it.

  Part of the point with Java is that it is supposed to be a good language
  for average programmers.  I think most of its detractors forget that you
  sometimes have to hire mediocre people.  Just by watching our excellent
  forum here, I have to conclude that if you are less than a great thinker,
  you will only do serious damage in Common Lisp.  The people who voice
  their concerns here are probably /way/ above the average of those who are
  likely to play with Common Lisp.  I could perhaps hire the people who
  have spent less than three months shedding their Scheme attitude, their
  arrogance, their unwillingness to actually /learn/ something new, and
  their unwillingness to work hard at making themselves better.  But I have
  no great hopes for the ability to hire a /bunch/ of people from some funny
  farm with academic credentials.  The crop of "computer scientists" these
  days has been drawn from the middle of the Gauss curve, with so little
  sign of excellence and real talent that it would simply be /wrong/ to base
  an operation on intelligent, thinking, creative, /good/ programmers.

  Java is the blue-collar programming language, much more successfully so
  than C++, which had strong aspirations in that direction, but is much too
  complex for its intended users.  Java can only be judged on those terms,
  and when you do that, two things become clear: If you are smarter than
  the target audience, you will hate the language and miss an opportunity
  to make use of the enormous number of lesser people who can be told what
  to do and actually accomplish it, and if you are in the target audience,
  it may be the first programming language that is actually intended to be
  understood by your "grade" of people and all the educational material is
  squarly directed at your group.

  Furthermore, you can now determine if a university or vocational college
  is going to produce brilliant or only educated average people by looking
  at their choice in programming language.  It used to be relatively stupid
  languages like Pascal and relatively smart languages like Scheme, but now
  we can know beforehand if they believe they can do something great with
  any potentially brilliant student who decides to attend.  If they choose
  to base their education on Java, they will at best produce highly skilled
  workers, not thinkers.  But highly skilled programmers is much better
  than poorly skilled thinkers.  There are significant benefits to actually
  having had to use a language for average programmers, even if you can do
  much better, just as we force even bright kids through schools intended
  to feed factories with average workers.  This may sound brutal, but I have
  yet to see any alternatives that have a significant chance of success.

  /Really/ good people tend to "discover" Common Lisp quite independently
  of their formal education, but my take on this is that you cannot acquire
  the foundation to appreciate Common Lisp in today's programming world if
  you have not gone through a lot of drudgery.

  Also, if you can make do with average people, you should be /thrilled/!
  It is a mark of maturity in an industry when average people can operate
  tools and accomplish something.  Java offers something important here.
  If you want to solve really hard problems, get the really good people and
  give them Common Lisp.  They will be equally /thrilled/ to get away from
  Java, if the sentiments here are accurate.

  The only problem I can see is that people cannot get programming work
  that is commensurate with their intelligence and skills.  This, however,
  is not Java's fault.

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.