Another errata?

Clark Evans clark.evans at
Wed Feb 3 21:25:11 GMT 1999


Perhaps the role of namespaces is fundamentally 
different in the "stream processing" paradigm 
than it is in "object processing" paradigm? 

Could this be the issue underlying the current 
debate?  I don't know enough on the topic to 
say.  However, I feel I can help by explaining 
my observations about the differences between 
the paradigms.

1. A tenant of object oriented programming
is encapsulation, data hiding.  For stream 
processing it is the opposite, data exposure.

2. Objects are modified or undergo state change
by invoking methods. Where streams are re-written 
or translated by transformations.

3. Ideally, an object retains it's identity.
The entire goal of a stream is to merge it's
information with each and every observer; this
is equivalent to identity loss.

4. An object has a 1-1 correspondence between its
data and its code.  A stream has a 1-M correspondence
between its data and its code.  Where the document is
the data, and the code is the observer's 
transformation system.

5. Objects are finite, they have a boundry.
Streams may be effectively infinite.  For
example, a pressure transducer sending water
level measurements may operate continuously
for years!   Thus, you can store an entire
object in memory, you may not want to store
an entire stream in memory.

6. An object's interface describes a block of
functionality provided.  A stream's interface 
describes the information conthat it carries.

7. An object has one type or class which is 
assigned to the data, where a stream can
be classified differently by each and every
observer.  This is especially clear if 
you read about Arcetectures.


Anyway, I'm not saying that one is better
than the other, just that they are different
and subtly interwoven. For instance, Scenerios 
is the study of object interactions as 
a stream of events.  And SAX is a wonderful 
event-driven stream observer object.

I feel that the key to the success of XML
is to recognize that it is part of a different 
paradigm --XML complements existing technology.
As such, it is important to scrutinize the
application of object-oriented idioms to the
new paradigm.


Hope this helps,

Clark Evans

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list