OOP is considered by many to be the crown jewel of computer science. The ultimate solution to code organization. The end to all our problems.
This article argued that in many cases it is far from it.
IT was supposed to improve code organization, but the bitter truth according to this article is that OOP fails at the only task it was intended to address. It looks good on paper – but Instead of reducing complexity, it encourages promiscuoussharing of mutable state and introduces additional complexity with its numerous design patterns. OOP provides developers many tools and choices, without imposing the right kinds of limitations.
Some might disagree with the article conclusions, but it raises many good points to consider.
Using OOP is seemingly innocent in the short-term, especially on greenfield projects. But what are the long-termconsequences of using OOP?
“C++ is a horrible [object-oriented] language… And limiting your project to C means that people don’t screw things up with any idiotic “object model” c&@p.“
— Linus Torvalds, the creator of Linux