Programmers tend to fight about why Object-Oriented Programming (OOP) is good or bad.
Among the anti-OOP crowd, I often see junior programmers hate on OOP and “rebroadcast” what they’ve heard experienced programmers say. But when challenged to explain why OOP is bad, they have a hard time explaining it. It’s usually because they haven’t really experienced those things first hand.
I’d like to take a positive spin on this and say: Just write your code in a way that makes sense to you.
They like most parts of OOP, except for inheritance.
They don’t like inheritance because… subclass objects can’t be stored directly in an array[superclass], because the sizes are different, and you have to use pointers. This means that the program will be slower because it will access RAM instead of registers or cache.
If you’re that concerned about performance, why use an OOP language at all? Why not just use C?