- Re-use of code. Linking of code to objects and explicit specification of relations between objects allows related objects to share code.
- Ease of comprehension. Structure of code and data structures in it can be set up to closely mimic the generic application concepts and processes. High-level code could make some sense even to a non-programmer.
- Ease of fabrication and maintenance (redesign and extension) facilitated by encapsulation, data abstraction which allow for very clean designs.
- C++ Objectives
- extend C to allow for object-oriented programming
- other improvements - some resulting in deprecation of some C facilities. While any C++ compiler should be able to compile a C program successfully with minor changes, several aspects of C programming are discarded in the transition to C++: new facilities are supplied for I/O, memory allocation and error handling; macros and pointer casts become obsolete for the most part.
- remain compatible and comparable (syntax, performance, portability, design philosophy
- emphasize compile-time type checking
- C++ is multi-paradigm. It provides for the object-oriented approach but doesn't enforce its use.
- C's future is as a portable "universal" assembler, a back end for code generators.
2004-12-28