What’s the point of OOP?

The real world isn’t “OO”, and the idea implicit in OO–that we can model things with some class taxonomy–seems to me very fundamentally flawed

While this is true and has been observed by other people (take Stepanov, inventor of the STL), the rest is nonsense. OOP may be flawed and it certainly is no silver bullet but it makes large-scale applications much simpler because it’s a great way to reduce dependencies. Of course, this is only true for “good” OOP design. Sloppy design won’t give any advantage. But good, decoupled design can be modelled very well using OOP and not well using other techniques.

There are much better, more universal models (Haskell’s type model comes to mind) but these are also often more complicated and/or difficult to implement efficiently. OOP is a good trade-off between extremes.

Leave a Comment