[sdiy] IN your mind, what is ....

Magnus Danielson cfmd at bredband.net
Wed Feb 4 01:23:56 CET 2004


From: Scott Gravenhorst <music.maker at gte.net>
Subject: Re: [sdiy] IN your mind, what is ....
Date: Tue, 03 Feb 2004 14:40:56 -0700
Message-ID: <200402032240.i13Meud14134 at linux6.lan>

Scott,

> What I've been made to understand is that C++ protects the environment from
> the programmer.  IMHO, that's absurd and falls right in line with the
> "Microsoft Think-4-You" mentality.  What that says is that you can write crap
> with C++ that won't usually break the machine...  well, maybe...

This is the misstake that has been applied to C++ from the early days, putting
the responsibility onto the C++ compiler instead of taking the responsibility
yourself. C++ as any OO-languague provides a toolbox which isn't (or parts of
it didn't use to be) part of C (or other pre-OO imperative languague). This
toolbox is at the best a refined way of saving yourself from yourself. It
provides tools in order to do information hiding and many other things (which
is one of the things Fredrick Brooks himself points out at one of his own
errors in the original "Mythical Man Month" when reading the 25th anneversary
edition) which can be good tools. However, even with a possibly larger toolbox
doesn't mean that all these tools shall be applied all the time. There are
problems which doesn't really fit in well in the OO-world to start with.
The ability to do reuseable code in C++ has actually become even harder than it
was in C, since a good C++ programmer needs to know more, and also needs a
correlated knowledge, than a good C programmer needs to know. This is actually
a bit paradoxial, but that's how it ends up being. So, when I am seeking to
find out what I need to know in order to become a good C++ programmer (and BTW
I know a number of things in C++ which I can give very good reasons for NOT to
use at all or very restrictive). I tend to work kind of OO-oriented in C
instead. I can be productive and make few errors in an environment that I know
and know how to control. Oh, and it doesn't have much to do with putting dinner
on the table for me.

> There is no substitute for thinking and hard work.

Exactly. You may or may not find OO-modeling actually usefull. It certainly
not provides the holy grail and it never will. It may be an improvement for
the moment, but we must look beyond that to find a better approximation to the
holy grail.

Cheers,
Magnus



More information about the Synth-diy mailing list