3 ms·
While I agree in principle that #1 is correct - that OOP is not necessarily less performant than procedural languages, the argument provided is a bit of a straw
by ibsulon 18y ago
While I agree in principle that #1 is correct - that OOP is not necessarily less performant than procedural languages, the argument provided is a bit of a strawman. No OOP-antagonist that I know would consider that a proper argument.
The arguments that I see are this:
1. Encapsulation makes code less performant because large, overdesigned objects are created to pass around information rather than designing the code to the data. Consider sending XML around (SOA) rather than a pointer to a struct, for example, because of proper encapsulation.
2. Inheritance tends to be poorly used in OOP, causing poor performance without gaining many rewards in maintainability except for an ideological category system. This ties into complaints about polymorphism and inversion of control systems and the words "bloated piece of shit Spring" come to mind. :)
3. OOP encourages architecture astronauts due to the ideological supports. Further, it hides poor algorithmic decisions because it separates a processing function into multiple files and functions.