Subject: Re: On comparing apples and oranges (was: Q: on hashes and counting)
From: Erik Naggum <>
Date: 2000/10/20
Newsgroups: comp.lang.lisp
Message-ID: <>

* The Glauber <>
| I think software creation is a multi-discipline activity, and not
| only you gain by knowing other programming languages, but you gain
| by knowing other fields as well. Programming is solving problems,
| and solving problems sometimes requires being able to think outside
| the box.

  How does this require multiple language skills?  Must an author be
  able to write great literature in multiple languages?

  Put it this way: I hate it when people do reasonably smart stuff in
  Perl, because it is just as incomprehensible to me as Umberto Eco's
  great stuff in Italian.  I'm annoyed by the fact that I have to work
  with a translation, especially since I have no idea how good it is,
  but I'm not going to call him a "one-language wonder".

  The idea that one language cannot be all things to all people is
  probably wrong, but the kinds of languages that have tried have been
  all things to some people in abject disregard of most other people,
  which may lead to the wrong conclusions.  Designing a language that
  is enabling and not restricting is very, very hard and requires so
  much forethought and probably dissociation from one's own goals that
  it will most probably grow into being rather than be designed from
  the start.  However, things that grow fall into two main categories:
  weeds and produce.  We have two particularly interesting examples of
  weeds: Perl and C++.  I consider Common Lisp a grown language, too,
  as opposed to designed-to-be-everything-for-a-few-people like Scheme.

  I fully agree that problem solving is not something you can do
  without knowing the problems and their interrelationships with the
  rest of the world.  However, when most business schools churn out
  generic managers, I suppose it will be harder to convince such
  people that programmers actually need to understand the issues and
  the problems they are facing.  The era of designers and coders is
  behind us, and all we know is it didn't work very well, but not why.
  Perhaps if more of the people who call themselves programmers or
  even software engineers these days were labeled coders and had
  somebody else think for them, we would need far less of them simply
  because they _can't_ think and therefore write so much miserably
  buggy code, while the real thinking that goes into modern "apps" is
  very sparse, indeed, compared to all the work required in coding, so
  it could probably be handled by a relatively tiny group of people.

  I agree with everything you say, but I would
  attack to death your right to say it.
				-- Tom Stoppard