Know why you don't like OOP

12 points by abhin4v


fanf

The section on encapsulation misses the main point of it: a module or data structure needs to maintain its invariants, and if other code can reach in and mess around it’s hard to ensure that invariants are maintained correctly. Sadly OOP eclipsed the notion of abstract data types as in CLU, so they were long neglected as a tool for designing software (and the acronym collision with algebraic data types is awkward). I suppose they have had a kind of renaissance as interfaces or traits.