Re:Why is OOP still so widely spread?
by throwaway894345 on Wednesday September 02, 2020 @04:21PM
(#24357686)
I would argue that it’s very rarely useful to mutate like this at all, and this is one of my grievances with OOP in practice. In particular, I don’t need to mutate via methods—this kind of encapsulation is rarely useful; it’s not like one day I’m going to be able to swizzle the implementation for a network-backed implementation without introducing a breaking change (and a whole host of performance problems when iterating over a collection of objects).
[ Parent
| on HN ]
Re:Why is OOP still so widely spread?
by dheera on Wednesday September 02, 2020 @04:26PM
(#24357728)
In addition, there are things that just don't need to be separate classes, they should be static methods or constructor options of an existing class.
I very much like the Pythonic paradigm of conciseness, e.g. PIL.Image.open() or cv2.imread() with optional arguments which is light-years more pleasant to code with than the BitmapFactories and BitmapFactory.Options and AbstractSingletonProxyFactoryBeans.
It's also really nice that Python and JavaScript classes/objects can have arbitrary attributes stuck onto them, e.g. someObject.__source = "foo" or set and that sticks to someObject wherever it goes. It's a very intuitive way to implement a lot of things; one can liken it to sticking a post-it note on a box.