Words Of Wisdom said:
billsalias said:
Words Of Wisdom said:
Lingyis said: yeah, agreed. C++ without OOP is not C++. it's a big reason why C became C++.
indeed, on resumes, i've been told to explicitly say OOP next to C/C++ because apparently a lot of people put down C++ when what they really know is just C. |
OOP is a programming paradigm akin to Functional or Procedural.
It is currently the most popular one (much akin to how relational row-based databases are the most popular), however that doesn't make it necessarily the best one for every situation.
Languages as well as techniques/paradigms are simply tools in a good developer's toolbox. Approaching any single tool as the silver bullet solution to all problems will fail. |
I agree completely that OOP is just another tool. But C++ was designed from the ground up to be used for OOP. Not knowing OOP and claiming to be an expert at C++ is akin to not knowing how to read blueprints and claiming to be a master architect. Both are possible if you use other means to plan your work and communicate it to others, but it would be the exception and not the rule. |
C++ does indeed add much of the necessary OOP functionality to C such as polymorphism and multiple inheritence however it is in no way a requirement. The transition from C to C++ is much akin to PHP 4 to PHP 5 (for a more modern comparison); it adds functionality and makes many more tools available to the developer without requiring them. If you want to see languages really designed with OOP from the ground up, look to Ruby or Smalltalk. |
look, we're responding to your "To be good at C++, you need to should know about OOP - Object Oriented Programming".
of course we know C++ is not designed from ground up--it's still based on C, and the fact that you could in fact NOT know OOP and still code in C++ is testament to that.
however, if you tell somebody you know C++ and you don't know the OOP aspects of C++, i'd call you a C programmer, not C++.