The Fruits of Civilization (11-1-3) C++


I made up the term object-oriented, and I can tell you I did not have C++ in mind. ~ Alan Kay

Danish programmer Bjarne Stroustrup was a student when he started tinkering with adding OOP to C. Stroustrup liked Simula 67 but found its execution far too slow for practical use.

Stroustrup went to work for AT&T Bell Labs. By being there he gained the credibility needed to promote his C++ language. Just as C had been the programmer’s language of choice, C++ inherited its crown to an audience just being introduced to the OOP paradigm.

It was a gross miseducation. C++ injected complications without advantage.

There are only 2 things wrong with C++: the initial concept and the implementation. ~ French software scientist Bertrand Meyer

The potential for reusability that was the raison d’être for OOP became a chimera with C++. The highest compliment that can be paid to C++ is that it was chock full of missed opportunities.

The problem with using C++ is that there’s already a strong tendency in the language to require you to know everything before you can do anything. ~ American programmer Larry Wall

Even Stroustrup, the designer of C++, admits to a design deficit in the language.

Within C++, there is a much smaller and cleaner language struggling to get out. ~ Bjarne Stroustrup

C++ became an industry standard in an industry lacking intelligent discretion about the fundamental concepts of the business at hand. There is no greater statement of core incompetence in the software business than C++ becoming so popular.

You’ve baked a really lovely cake, but then you’ve used dog shit for frosting. ~ Steve Jobs

Several savvy C programmers thought of C++ as shambolic frosting on C’s scrumptious cake. This led to a handful of object-oriented C-based language variants. Almost all fell into oblivion, while the C++ hack job lived on. An example of how to turn C into an elegant OOP language illustrates.