Hacker News new | ask | show | jobs
by xupybd 1917 days ago
I find OO can wind up in a complex mess. If I have to look into 4 levels of inheritance I'm very lost. Encapsulation is great if your encapsulated black boxes function as they should. However that is often not the case, or at least you need to dig into that black box to understand the system.

Mixing data structures and models is something I find difficult. It can be hard to follow the logic of a simple function if it draws on several functions hidden inside an object. They same can be true of function composition, but many functional approaches allow you to pipe data through a series of transforms. This is hard to do when the objects have logic hidden within them.

1 comments

That's a pretty good insight: FP encourages working with simpler data types, whereas OO encourages encapsulating everything into these complex types which become unbearable as they get deeply nested.