Caliban Tiresias Darklock
caliban at darklock.com
Sat May 24 20:41:17 New Zealand Standard Time 1997
On Sat, 24 May 1997 11:38:20 PST8PDT, Shawn Halpenny
<malachai at iname.com> wrote:
>Caliban Tiresias Darklock wrote:
>> The problem I see in projects built using proper OOP in C++ is that the
>> same data is validated over... and over... and over... and over...
>> because none of the objects can make any assumptions about the others,
>> so they can't ever take for granted that someone else has validated the
>> data. If they did, they'd break the whole reuse thing.
>That reflects poor design in the reuseable components, IMO--or at least
>in the documentation of them. I'm a proponent of the "validate as close
>to the input source as possible" school of design, and if the interfaces
>are properly documented in those objects close to the source, there
>should be no reason for data to be validated ad infinitum.
I agree entirely with this. It's pretty much what I do. I try to slurp
in the data, sanity check it, and then place it into an area that might
be best described as a 'known good' area. For example, when I implement
a list, I sanity check the input when it's provided to be placed in the
list. If the proper interfaces are used, there is never again a need to
make sure that your pointers aren't NULL and your strings are
terminated. I do provide, for the truly paranoid, a function which
iterates through the list and sanity checks all the contents; but I
never use it.
>none of the features necessarily making C++ worse than
>any other language, nor particularly any better. I like it, though, and
>will use it because it will let me accomplish what I want with less
>effort than in other languages I've looked at.
I can see several points in the C++ language that make it attractive for
large projects with deadlines... like commercial applications. If the
programmer will not maintain it, it carries several other niceties.
However, all the benefits of C++ seem to be social, rather than
technical; likewise the benefits of OOP. OOP is really great if you have
five teams in different countries working on a project. It's a fantastic
tool for DoD work, as well. But in most computing... I don't see much of
I will admit that heavy Windows programming is almost required to be in
C++, much as the SDK in Windows 3.0 more or less required that you work
in C. But Delphi's got some real potential, although I hate to admit
that any Pascal derivative is anything other than garbage, and Visual
Basic is a wonderful rapid prototyping language. It also makes good blue
>Also, I think the number of modern C++ compilers that translate code
>into C is between few and none (though it used to be common practice).
Just as there aren't a lot of C compilers left that translate into
-+[caliban at darklock.com]+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
I am here to grind your eyes harder into the miasmic bile of life; to
show you the truth and the beauty in the whisper of steel on silk and
the crimson scent of blood as it rises to meet the caress of a blade.
More information about the MUD-Dev