News for hackers. Stuff that matters.
Re:Data-oriented design or why you might shoot yourself in t... by jhgb on Monday June 28, 2021 @12:03PM (#27663615)
That must be some kind of "new OOP", since the "old OOP" is messaging, local retention, and protection and hiding of state-process, and extreme late-binding of all things. At least according to Alan Kay, who wrote this verbatim.

To wit, encapsulation and abstraction existed outside of OOP (for example, Modula had it before), inheritance is not a necessary feature for OOP (Self doesn't have it), and the O in SOLID doesn't apply to Smalltalk and Self.

Re:Data-oriented design or why you might shoot yourself in t... by mytailorisrich on Monday June 28, 2021 @12:14PM (#27663760)
That's standard OOP as it stands today (versus the 60s when Alan Kay coined the term).

Alan Kay considers that inheritance and polymorphism are not essential, fine. He does consider encapsulation essential, though. Specific languages have their own take, fine.

The point being is that there are well-known OO principles. Claiming otherwise is either disingenuous or ignorant.

Re:Data-oriented design or why you might shoot yourself in t... by jhgb on Monday June 28, 2021 @01:16PM (#27664580)
> versus the 60s when Alan Kay coined the term

It was in the 70s, and his description that I quoted is from the 2000s.

> Alan Kay considers that inheritance and polymorphism are not essential, fine.

Polymorphism is a logical outcome of his requirements. So in a purely logical sense it is essential, although I imagine that saying that might be a little bit like saying that CO2 is essential for a campfire (as in that you can't get a campfire without emitting CO2, even though that is strictly a matter of consequences).

> He does consider encapsulation essential, though.

Yes, because biological cells are encapsulated.

> there are well-known OO principles. Claiming otherwise is either disingenuous or ignorant.

There surely are some "well-known principles" but whether the "known" in that phrase has the same meaning as in "knowledge" (justified true belief at a first approximation) seems debatable.