OOP is a failure ... looked at through the lens of today.
Back then, OOP originally solved a very real problem--optimizing memory usage of bunches of objects that have mostly common behavior with just a few tweaks different from one another. It did pretty well at that at the expense of introducing some extraneous coupling and complexity.
And then memory got big and disk became SSD.
Now, programmers would rather burn extra memory, avoid pointer chasing (expensive on modern microprocessors), and ditch the extraneous coupling that introduces unnecessary complexity.
Back then, OOP originally solved a very real problem--optimizing memory usage of bunches of objects that have mostly common behavior with just a few tweaks different from one another. It did pretty well at that at the expense of introducing some extraneous coupling and complexity.
And then memory got big and disk became SSD.
Now, programmers would rather burn extra memory, avoid pointer chasing (expensive on modern microprocessors), and ditch the extraneous coupling that introduces unnecessary complexity.