|
|
|
|
|
by techadv
4359 days ago
|
|
The mainstream programming language community has a pretty strong consensus on what OOP means, in terms of language features. Some people out there seem to have some confused notions of what OOP is. That doesn't mean there isn't a well-understood and more-or-less accepted definition, at least in academia. Edit for downvotes: dynamic dispatch + associating methods with classes, often times but not necessarily accompanied by an inheritance hierarchy. Of course there's lot of room for design decisions (and prototype-based languages are only awkwardly encapsulated in that group), but these features are basically unique to OOP languages. The point is that you could put a language with these features in front of any random sample of PL researchers and they would probably more-or-less agree on whether the language has OO features. That's more or less the definition of scientific consensus. |
|
So Julia and Clojure are object oriented? Some "object-oriented" julia code:
Even Haskell might qualify, due to existential types.http://www.haskell.org/haskellwiki/Existential_type