Saturday, November 11, 2006

Objects Die When Their Guts Spill Out

There's a bunch of goo in JNDI to make it seem like you're dealing with real objects, but, as usual, it's a complicated, clunky way to do what OO runtimes do intrinsically.

The reasons to use JNDI this way are similar to the reasons for using SOA (and CORBA), namely that they provide a (sort-of) well understood interface layer between technological, transport, and organizational boundaries.

JNDI, SOA, CORBA, and O/R mappers make the "objectness" explicit, thereby taking all of the power out of the object metaphor. It's like trying to have a conversation by describing the syntactic structure of what you're trying to say, e.g., "the cat sat on the mat" becomes "(Noun phrase(subject(definite article('the'), noun('cat'))),(Verb phrase(verb('sat'), preposition('on'), definite object(article('the'), noun('mat'))))"; all of the expressive, semantic power of a language is lost when you externalize its syntactic structure.

No comments: