Re: ideas

RAMPOD SW Development (msmith@quix.robins.af.mil)
Sun, 12 May 1996 21:05:09 -0400 (EDT)


> and perhaps with a few "greps"). With C++ you really have no clue what the
> function is doing without recursivly looking at a bunch of class definitions
> and header files to determine which operators are overloaded and what the

I disagree that C is inherently easier to understand than C++.
There are many ways to use C++ without overloading operators and
I know quite a few (including myself) that use almost every feature
in the language EXCEPT overloaded ops except in the most trivial
cases. I think String assignment operators are very logical, however
I dont think overloading stuff like -> is wise in a large project.

> I have had to port a large C++ project (printout was about a foot thick) to a
> different platform with many design changes and it wasn't at all fun. I
> resorted to looking at the disassembly of functions in a debugger to find out
> what the program was actually doing and get a clue as to where to look for
> problems. This is of course only one example (and a DOS game no less,
> "FPS:Football '94") but I think many people don't understand what can happen
> to a "clean" C++ design when people in the real world have to make things

That depends on your conception of a clean C++ design. As I've said,
many experience C++ designers have gotten over the novelty of overloading
an operator at every chance.

It is possible to do a 1 to 1 mapping of any C project to C++ using
correct inlining and obtain an OOP design without the full penalty
of things such as virtual functions. Polymorphism is nice but I
disagree with the 'experts' which say it is 1 of the required points
for true Object Orientation (Booch if I'm not mistaken)
I think that is 1 point I like about Java, it is much cleaner
in several areas, but is still a subset of C++. The problem is, some
programmers need the language to restrict them and many of those
are ones who move to Modula-2 and Java, deserting C++ because of
complexity that no-one forced them to use.

-Melvin S.