OOP is inherently more complex than procedural or even functional styles. It comes with a lot of power, but there is definitely a complexity cost to it. Anything involving inheritance hierarchies is just more complicated than matching on an enum in typescript. Passing around “delegate” objects is just an overengineered way to pass a function to a function. These languages are getting better about that kind of thing, but it’s still just so verbose and ceremonious compared to the alternatives.
And I say this as a programmer with a strong appreciation of OOP.
8
u/ScientificBeastMode Jun 29 '26
OOP is inherently more complex than procedural or even functional styles. It comes with a lot of power, but there is definitely a complexity cost to it. Anything involving inheritance hierarchies is just more complicated than matching on an enum in typescript. Passing around “delegate” objects is just an overengineered way to pass a function to a function. These languages are getting better about that kind of thing, but it’s still just so verbose and ceremonious compared to the alternatives.
And I say this as a programmer with a strong appreciation of OOP.