Skip to main content
16 events
when toggle format what by license comment
Jun 16, 2016 at 15:15 comment added Jerry Coffin @PieterB: No, not really. Despite abuse, Java does support the four "pillars" of object orientation. I'm tempted to paraphrase Dijkstra, and say: "Java is a mistake, carried through to perfection. It is the language of the future for the programming techniques of the past: it creates a new generation of coding bums." That's accurate to the extent that it has, indeed, created generations of "coding bums", but wrong in claiming that it has carried anything through to (anything approaching) perfection.
Jun 16, 2016 at 14:57 comment added Pieter B If 90% of the Java production code I see is: non-modular, exposes everything left and right, doesn't have a hierarchy to speak off and abstraction is the thing abstracted away. Does that make Java a non-OO language?
S Jun 16, 2016 at 13:17 history suggested Kromster CC BY-SA 3.0
Added focus to items and removed duplication
Jun 16, 2016 at 12:11 review Suggested edits
S Jun 16, 2016 at 13:17
Oct 25, 2013 at 21:34 comment added ChuckCottrill This also has a comment about OO being presented as the final model (programmers.stackexchange.com/questions/141329/…)
Oct 25, 2013 at 21:33 comment added ChuckCottrill Since one should favor composition over inheritance (stackoverflow.com/questions/49002/…), encapsulation (and namespace) are probably the biggest concerns.
Mar 20, 2012 at 10:42 vote accept nist
Mar 19, 2012 at 20:03 comment added Jerry Coffin @DeadMG: Actually, there's quite a bit more than that, such as directly expression inheritance vs. embedding.
Mar 19, 2012 at 19:50 comment added DeadMG @JerryCoffin: The only difference between doing that in C and inheritance in C++ is that in C, you have to make an explicit cast, and in C++, you don't.
Mar 19, 2012 at 19:22 comment added Jerry Coffin @DeadMG: That's not (even close to) direct support for expressing a hierarchy of abstractions. It's nearly a perfect example of sufficient flexibility to simulate what's needed without supporting it directly.
Mar 19, 2012 at 18:57 comment added Michael K @DeadMG I think the implication is support for object hierarchy.
Mar 19, 2012 at 18:52 comment added DeadMG It's not true that C does not provide direct support for hierarchy- it actually does. The C Standard specifies that a pointer to a struct may be converted to a pointer to it's first element by simply casting the pointer- which is hierarchical.
Mar 19, 2012 at 18:26 comment added Giorgio I deleted my question because after reading your answer I realised you state that encapsulation is a requirement, but not a feature that is unique to OO. Since you have answered, I repeat my question: I was doubting whether encapsulation identifies OO, since it is also present in procedural and functional languages.
Mar 19, 2012 at 18:20 comment added Jerry Coffin @Giorgio: No, it doesn't -- not by itself. You need direct support for all four of those for object orientation. Any one by itself doesn't work. Ada 83 (for one example) supports three of the four (all but hierarchy). That's enough that it's typically called "object based", but not "object oriented".
Mar 19, 2012 at 18:15 history edited Jerry Coffin CC BY-SA 3.0
added 401 characters in body
Mar 19, 2012 at 18:09 history answered Jerry Coffin CC BY-SA 3.0