4 ms·
> I find OOP technically unsound. It attempts to decompose the world in terms of interfaces that vary on a single type. To deal with the real problems you need
by chenglou 11y ago
> I find OOP technically unsound. It attempts to decompose the world in terms of interfaces that vary on a single type. To deal with the real problems you need multi sorted algebras - families of interfaces that span multiple types.
Can someone explain what this means?
- deleted 11y ago[deleted]
- _pmf_ 11y agoI think the first interpretation is that he thinks a language should have either traits, multiple inheritance (of implementation) or mixins. The second interpretation would be that a language should have algebraic data types.
- skwosh 11y agoMy guess is that in OO you are typically only parameterising `this`, and therefore only talking about one facet of the domain. Family polymorphism (or virtual classes) provide a way around this...
- omaranto 11y agoI think he's saying that most OOP languages have single dispatch, while multiple dispatch is more like the real world. https://en.wikipedia.org/wiki/Multiple_dispatch https://en.wikipedia.org/wiki/Multiple_dispatch
- pkd 11y agoThis is well explained here: http://c2.com/cgi/wiki?ObjectOrientationIsaHoax http://c2.com/cgi/wiki?ObjectOrientationIsaHoax