Messages in this thread |  | | From | RAMPOD SW Development <> | Subject | Re: ideas | Date | 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.
|  |