On (11 Apr 97) Pierre Phaneuf wrote to Jerry Coffin...
[ ... ]
PP> There is *many* questionable things about C++... Like for example,
PP> (regarding pure virtual functions) what happens if I put something
PP> else than 0 after the =??? Like in "virtual void fn() = 42"?
Assuming your compiler works correctly, you get an error message. The
syntax in the draft standard makes it clear that if you have an equal
sign there, only a zero can follow it. Anything else is an "Ill formed
program".
PP> Also, *not* having multiple constructors,
I'm not sure what you mean here. You can overload ctors, but I'm pretty
sure you're talking about something else.
PP> *having* multiple inheritance...
Most who'd seriously question that don't really know what they're
talking about. I think Booch said it well: MI is a bit like a
parachute. You don't need it very often, but when you do need it, you
REALLY need it.
The primary reason many "purists" dislike MI is simply that it isn't
part of Smalltalk. However, it's worth noting that many of the major
Smalltalk vendors really DO implement it. For instance, when Digitalk
was working on their Parts/Workbench project, they ended up adding in a
form of MI because they couldn't come up with satisfactory solutions
without it. IIRC, IBM and PARCPlace have both done more or less the
same things. They don't really publish much about how to do MI, but
it's there, and they use it when they need to.
I have mixed feelings about that, but in the end, I'm not sure it's
particularly bad. It discourages the use of MI, which is usually good.
OTOH, some people are certain that all parts of a system should be
documented and open to use, and they'll undoubtedly find this situation
quite distasteful.
Later,
Jerry.
... The Universe is a figment of its own imagination.
--- PPoint 1.90
---------------
* Origin: Point Pointedly Pointless (1:128/166.5)
|