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

* glauber <theglauber@my-deja.com>
| Sorry for the slight smart-alecky post.  What i meant to say was,
| C++ is mostly a rework of C aimed at allowing you to define your own
| types.  The classical example is, you can define a "rational number"
| type and then overload all the mathematical operators so that your
| new type behaves just like the old built-in types.

  This is all in-language stuff.  I don't want to use the language do
  to these things, I want to make it unnecessary to do all the crap
  that C++ requires before it becomes a usable environment.  I mean, C
  has an annoyingly underdesigned main (argc, argv) where you get to
  implement your own command-line argument processor wrong (or at
  least unlike every other program), or use some annoying in-your-face
  implementation of a general option processor that isn't because you
  don't have lambda lists in the language.  In C++, you have to build
  your classes and the way they interact from scratch, because all the
  defaults are wrong and useless.  It's like you live in this world
  where you have to put everything together from loose parts every
  time you need anything, but as soon as you're done, they revert to
  loose parts, and every time you put something together, you have to
  remember how to put it together, because there's no support for
  anything except putting together.  (In Lisp, macros help you keep
  things together.)  Hey, I loved LEGO as a kid, and the new robot
  stuff they do is fantastic, but as a kid, I didn't take everything I
  had built apart every night only to rebuild it slightly differently
  the next day.  If my LEGO buildings and stuff fell apart during the
  night so I _had_ to rebuild everything every day, I'm sure I would
  be almost as unhappy with LEGO as with C++.

| Of course this problem doesn't exist in Lisp.

  No, it isn't, but not "of course".  Lisp is for building things that
  last.  It is this that is out of vogue in the programming world more
  than it is out of vogue anywhere else.  "Innovation", remember?  But
  it takes more than not to remember how you did it the last time to
  be innovative.

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