Re: Tonight's Death Match: "Objective Heresy" vs. "Church of Objectology."

Sundar Narasimhan (
Fri, 13 Feb 1998 23:48:54 -0500

Doug: I suspect that you are writing in jest. There are several
arguments against objects:
- the Theory view -- there is no denotational semantics for them (not
much by way of operational semantics either).
- the Engineer view -- it's just another way to build stuff, naming it
special doesn't buy you much. Besides, we've been doing it always.. in
assembly and cobol.
- the Scientist view -- objects are usually proposed by modelers who believe
they can understand reality. Hence they will build systems that exhibit
the worst bugs in their present understandings of such reality.
(Usually this argument is followed by talk about Bernoulli and the
Wright brothers and a lot of people who tried flying like birds :)

As to your point 2., I was right with you through the first half of what
you say. But I'll let someone else defend XML. I suspect I will end up
burying it if I try.

   Two things I (quite seriously) do not understand:

1. How it can be that people do or do not like objects.

What is there to like or not like? I suspect that `object' is the term Turing or Von Neumann would have used instead of TM or automaton if they had had the opportunity to build interesting software. The defining characteristics of objects are just the same as the defining characteristics of machines. Except a little broader in that degenerate cases also count as objects yet not machines.

(OK, I admit to being a revisionist historian about all this, but so what.)

I do understand how it can be that some people do not like particular object-oriented programming languages, notations, terminology, or, for that matter, particular objects.

2. How it can be that XML and other non-computationally-complete but useful languages somehow serve as alternatives to objects.

Good description languages are nice. But they don't do anything themselves. So you have to build software to do things with them. And you are back to software design, which seems to have little to do with XML et al except for the need to somehow link together structre and behavior. Which seems to be a roundabout way of defining an OO programming system.

Could someone please straighten me out about either of these?

-- Doug Lea, Computer Science Department, SUNY Oswego, Oswego, NY 13126 USA 315-341-2688 FAX:315-341-5424