Subject: Re: A Philosophical Diversion
From: Erik Naggum <erik@naggum.no>
Date: 1998/10/08
Newsgroups: comp.lang.lisp
Message-ID: <3116861180270826@naggum.no>

* Reini Urban <rurban@sbox.tu-graz.ac.at>
| my general opinion (having only IQ 130) is that c++ would require a much
| higher iq, so i'm doing just lisp which satisfies me and which is a
| simple language i am able to understand.

  your problem is not your IQ (as if it could have been), but that you are
  conscientious and want to understand what you're doing.  this is bad for
  you if you want to deal with C++ and Perl and the like.  the less you
  actually care, the better these languages become.  if all you need is for
  something to "work", and you don't give a damn when and how it fails, C++
  and Perl is for you.  if you care deeply about not having your software
  fail, you would naturally feel a correspondingly deep sense of betrayal
  from the authors of both languages -- because they make it so damn hard
  to express the fact that you do care about the failure modes.

  if you read the ludicrously complicated document they call the language
  specification for C++, you will probably arrive at the same conclusion I
  did: "these guys must be _real_ slow".  I'm reminded of the saying that
  "complexity is the hallmark of stupidity"¹.  the elegant, simple solution
  is the result of smart people thinking a lot and solving something that
  might not even have looked like a very complex problem to begin with.
  (incidentally, "smart" in this context refers more to one's attention to
  detail and a desire for elegance than high IQ scores.  intelligence is
  only a labor-saving device.  less intelligent people can in principle
  create just as elegant solutions, but it would normally take them more
  effort to get there.  achieving elegance is never painless, however, and
  you actually need to _want_ that quality in your code to get it.)

| inferior development system certainly requires more manpower and
| iq-power, just to express and understand your intentions, which are
| certainly much easier to express in lisp or other clearly functional
| and/or object-orientated languages.

  intelligent people would rather develop a new development environment
  than continue to prove the inferiority of a bad environment.  (that's
  about the only redeeming quality of C++ and Perl.)

| it must be the language not the iq! it's both, semantics and syntax which
| either makes me feel desperate (c++) or bright (lisp).

  I share this impression.  C++ left me feeling that I was never in control
  of anything, in particular because the dimwits who wrote the soi-disant
  "specification" left so much to the implementation and were so inept at
  expressing their intentions.  Common Lisp gave me a feeling that the
  vendor would (or should) be sufficiently competent and trustworthy that I
  could trust the specification and go from there.

| maybe that's the point why guile and not perl will be used as general
| purpose scripting language for desktop environments in unix (gnome).

  incidentally, I think GUILE is _really_ stupidly designed, too, and Emacs
  Lisp started losing its charm quickly in 1995, and by the time MULE had
  been "integrated", had become just another god-awful "design-free" mess.

#:Erik
-------
¹ if it isn't a saying, it should be