Nobody Understands C++: Part 10: C++ Is Not an Object Oriented Programming Language

In the context of the rest of the Nobody Understands C++ series, I feel like this one is redundant. But it seems like it needs to be said.

C++ is not an object oriented programming language. C++ is a multi-paradigm language that supports most of the major programming paradigms that have been widely accepted.

Specifically, C++ supports:

Making the most of C++ means effectively utilizing each of these paradigms appropriately. Indeed, the boost::function library (part of the upcoming C++0x standard) must utilize procedural, object oriented and generic programming techniques to make the implementation possible. And it is through boost::function that the primary, easiest method of functional programming is possible in C++.

Understanding the strengths and weaknesses of these individual paradigms and their use in C++ will make you a better programming in the other languages that you use.

Comments

nice blog!