3 ms·
It's an interesting observation, but I can't help but notice that none of the nine members of that list includes the single essential feature that's shared by a
by bunderbunder 14y ago
It's an interesting observation, but I can't help but notice that none of the nine members of that list includes the single essential feature that's shared by all languages that claim to be object-oriented: The presence of a language-level construct (an "object") which bundles data together with operations on that data. The nine in the list are instead just a bunch of optional features that an object-oriented language may or may not have in addition to that one essential feature. Some of them aren't even particularly emblematic of OOP in the first place. The most well-known poster child for #6, Erlang, is a (non-OO) functional language that implements it among processes instead of objects.
In other words, while the essay is correct in observing that OOP can be a frustratingly fragmented paradigm, the claim that it is "not a well-defined concept" is a glaring case of failing to see the forest for the trees.
- beagle3 14y ago> The presence of a language-level construct (an "object") which bundles data together with operations on that data. And yet, many people argue that objects don't even need to have data to be objects ( e.g. http://stackoverflow.com/questions/6500127/whats-the-overhead-of-a-data-less-type http://stackoverflow.com/questions/6500127/whats-the-overhea... ) ... you can google "stateless objects" or "dataless objects" and see that they were common enough at some point to be "considered harmful".... > The most well-known poster child for #6, Erlang, is a (non-OO) functional language that implements it among processes instead of objects. Are processes not objects? I think they very much are. > In other words, while the essay is correct in observing that OOP can be a frustratingly fragmented paradigm, the claim that it is "not a well-defined concept" is a glaring case of failing to see the forest for the trees. If you have at least 4 incompatible definitions (as given by Rees) then it is, by definition, NOT a well defined concept.