So here's a question for you: is a dog a certain type of object that has a certain set of properties? Or is a dog some object that has, among other properties, the property of 'being a dog'? In other words: do we know what properties a thing has if we know what type of thing the thing is? Or do know what type of thing we have if we know what properties the thing has? A lot hangs on this question. The former is the cornerstone of object oriented program. The latter? It's not so clear; whoever heard of a dataset without any semantics? Well, me, for one.

There's a history to this argument. We can think of the two views as 'semantic' and 'post-semantic', or 'structural' and 'post-structural'. Perhaps 'Saussurian' and 'Lacancian'. But in the end, it means I'm very sympathetic to reasoning like this: "The main target of (object-oriented-ontology) is to supplement modern science with a premodern ontology which describes the 'inner life' of things." In other words, if we continue to build our data structures according to the semantics of the pre-technological era, we will not be able to meet the demands of a technological society. When you predefine your objects, you 'lock in' certain concepts that my be wrong or out-moded, and you've left yourself no way to articulate a world beyond those. Via Alex Reid.