The Deficiency of the Object Model

As Java programmers, we’re well versed in object-oriented programming (OOP). But the language has greatly influenced the way we model OO apps. OOP didn’t quite turn out to be what Alan Kay had in mind when he coined the term. His vision was primarily message passing, and he wanted to get rid of data (he viewed systems to be built using messages that are passed between biological cell-like objects that performed operations but did not hold any state)—see “The Meaning of Object-Oriented Programming” in Appendix 2, Web Resources. Somewhere along the way, OO languages started down the path of data hiding through Abstract Data Types (ADTs), binding data with procedure or combining state and behavior. This largely ...

Get Programming Concurrency on the JVM now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.