FAQ 36.12 Why does C++ do more things behind your back than C does?Because the goal of programming in C++ is different than the goal of programming in C. One of C's great strengths is that it has no hidden mechanism. What you see is what you get. You can read a C program and see every clock cycle. This is not the case in C++. As an OO programming language, C++ has different goals than C. For instance, C++ calls constructors and destructors to initialize objects. Overloaded operators are another case in point they provide a level of abstraction and economy of expression that lowers maintenance costs without destroying runtime performance. Longtime C programmers are often ambivalent about these features, but they soon realize their benefits. Naturally, bad code can be written in any language. C++ doesn't guarantee any particular level of quality, reusability, abstraction, or any other measure of goodness. C++ enables reasonable developers to write superior software. It doesn't make it impossible for bad programmers to write bad programs. |