After my post of yesterday, Graham Harman made a few helpful observations about the term “object-oriented philosophy.”
First Harman observed that the “parallels seem plenty apt,” that “terms can be borrowed freely across disciplines with slight changes of meaning” that “plenty of other names can be used,” and that “it doesn’t matter unless people have such strong preconceived notions of what object-oriented programming means that they end up confused.”
“Weird! When I first came across your blog, I unhesitatingly assumed that the reference to Object-Oriented Programming was deliberate. I’m a software developer for a living, so I can say with confidence that the basic parallels are apt (the whole reason for the term in software development was a change in â??focus’ toward objects that truly interact rather than just data structures and procedures). There are some strong nuances that might not match up (encapsulation, inheritance, polymorphism, etc) but reading those in would have to be pretty intentional and conscious.”
The “con” comes from Ian Bogost’s blog post back in January, which he has kindly re-sent to me:
“My worry arose not from the perception that Harman had absconded with the appellation without giving it proper credit, but because I feared the sense of ‘object-oriented’ native to computer science didn’t mesh well with that of speculative realism.
To wit, an object in the computational sense:
- describes a pattern, not a thing.
- exists in stable relation to its properties.
- exists in stable relation to its abilities.
- has direct access to other objects via their properties and abilities
- is not a real object
- (but can be made real, e.g. on magnetic tape or as a series of instructions on a processor stack)
- always relates to an intentional object (both because it is a designed
object and because it strives to embody and enact direct modeling of the world)
Many—perhaps all—of the aspects above conflict with Harman’s understanding of objects and what it means to be oriented toward them (even if certain other properties of object-oriented programming, such as abstraction and polymorphism, might begin to approach the agitated relationship between objects and properties per Harman).
I don’t want to dwell on this subject too much more, but here are my thoughts on the matter:
I agree that this name is one among many, and as such the entire matter is not momentous.
I agree that terms can be borrowed liberally across disciplines. (As I noted in a comment on the January post, “unit operation” is a technical term borrowed from chemical engineering.)
I agree with Harman and the “pro” view that there are strong parallels between “object-oriented philosophy” and “object-oriented programming.”
However, I contend that those parallels sit squarely on the surface of both fields. When we dig down deeper (as I tried to do in the so-called “con” excerpt above), there are also incompatibilities.
And I contend that it’s worth knowing what those are so that one can talk about them when the need arises. Given that “object-oriented programming” is a concept with incredibly wide currency among computer programmers, and given that many people from various walks of life do computer programming, including current and future philosophers, it is reasonable to think that there may actually be strong preconceived notions of what “object-oriented philosophy” means, perhaps even among the folks Harman hopes his work will reach. Indeed, the “pro” response above already confirms that notion.
That’s all really. It’s hardly an indictment. Just an observation that, given the similarities between the terms and their subtle but important differences in meaning, it’s worth understanding those differences deliberately. But not obsessing over them.