2 ms·
"OOP" means, in practice, two very different concepts. It was probably C++ (and later Java) that interpreted OOP as a mandate that your types should fit in som
by pdkl95 10y ago
"OOP" means, in practice, two very different concepts.
It was probably C++ (and later Java) that interpreted OOP as a mandate that your types should fit in some sort of hierarchy. Inheritance (usually with polymorphism) was seen as a primary way to reuse common code. Fortunately, more and more people are realizing the problems that arise when the real world doesn't map easily to the overly-simple inheritance hierarchy. This type of OOP failed a long time ago.
On the other hand, OOP in the original Alan Kay sense[1][2] is about message passing. This happily lives as a key part of languages such as Ruby.
[1] "I invented the term Object-Oriented and I can tell you I did not have C++ in mind."
[2] http://wiki.c2.com/?AlanKayOnObjects http://wiki.c2.com/?AlanKayOnObjects