Justification

Curtis Beeson (curtisb@wildcard.engr.sgi.com)
Wed, 9 Apr 1997 13:41:57 -0700

I would like to play devil's advocate for a moment. . .
Come to think of it, these are largely my opinions. . .

"Object - oriented" is a phrase that we attach to a methodology. Are "classes"
somehow represented in Plato's "realm of forms"? No, at some point they are
just data, and the object's 'one-ness' is breached. We can distinguish between
an 'object' and 'bunch of logic' only due to the level of the problem that we
are examining.

I know that I am not the target audience for the VRML specification.
I have a degree in computer science, and little if any sense of aesthetic
beauty. The immediate customers of the VRML specification are precisely the
designers and "talent" who do web pages today. They have a very different
notion of an object than we do. Their notions may happen to be implemented as
prototypes, etc, but that is largely a matter of implementation.

My point is that if VRML is to succeed, it must cater to the content creator
and not necessarily computer science academic like me. Therefore, when we
discuss an "object-oriented" methodology, I think it essential to consider an
"object-oriented" approach to VRML content creation and not limit our thinking
to the VRML file syntax.

The file format will certainly play a role in how the content creator creates
their worlds, but a typical VRML file consists mostly of vertices, coordinates,
and other data types the you really don't program by hand. Thus, I think that
most VRML content producers will use modelers and other authoring tools to
produce their content. It is therefore in this context that we should find an
object-oriented solution.

With respect to our discussions about creating a "method calling" syntax, I
feel the topic is a red herring. To its credit, it mirrors object-oriented
languages like C++ or JAVA. First, I am not immediately convinced that it
provides an 'object-oriented' approach for designers. Secondly, object
oriented design does not require 'methods.' VRML is an event-driven language,
and imposing machinery of iterative languages like C++ or JAVA is unnecessary.
Polymorphism can be as simple as having eventIns of the same name on two
nodes.

Thanks,
Curt

-- 
The question of whether a computer can think is no more interesting than 
whether a submarine can swim.
						- Edsgar Dijkstra