"Clean Specs"

JEROME.YUROW at hq.doe.gov JEROME.YUROW at hq.doe.gov
Mon Feb 8 15:55:00 GMT 1999


Message authorized by:
    : paul at prescod.net_at_INTERNET at X400PO
-------------- next part --------------
     Paul Prescod wrote:
     
     >What is a "clean spec?"
     
     >People in this discussion are mixing together a variety of things 
     >that I do not consider the same.
     
     >Uche Ogbuji wrote:
     >> I have worked on teams implementing DOM, XSL and parts of XLL.  
     >>Some users > might grant that we have been "succeeding", but let me 
     >>assure you that if so,
     >> it is despite the W3C specs, not because of them.  DOM, especially 
     >>is
     >> unforgivably inconsistent, incomplete, and unclear for a 
     >>production-ready > (1.0) specification.
     
     >There is not a SINGLE person on this mailing list that would say that 
     >it is right to create specifcations that are inconsistent, incomplete 
     >or unclear. It is beyond doubt that specifications in the XML family, 
     >including XML itself, have these problems. The question is how to 
     >avoid that?
     
     >* some people say that what the spec needs is "more English". But 
     >much of
     >the problem with the namespaces specification comes from ambiguity in 
     >the English.
     
     >* some people say that we need "more non-normative text" but once 
     >again,
     >it is a non-normative appendix that is confusing people.
     
     >What almost nobody has suggested is that we need more formal 
     >notation. Now if we look at James Clark's "clarifying" document what 
     >we see is *less* English text and *more* notation.
     
     >As David Megginson has pointed out, when a spec. invents a notation 
     >to explain its abstract concepts the spec. becomes temporarily harder 
     >to read because you have to learn the notation before the 
     >specification. This will turn people off. I remember that Algebraic 
     >notation turned me off in my first year math classes. But in the 
     >*long run* it makes life easier for everyone. Implementors have 
     >precise definitions of what the hell they are supposed to implement. 
     >End-users get software they can use. People reading the specification 
     >for their own education and edification will understand it better -- 
     >if they perservere through the task of learning the notation.
     
     >I know that W3C spec. writers are under pressure to use more 
     >normative English and less normative notation. This is not a vote for 
     >"clean" specifications. It is a vote for messy, hard-to-implement 
     >ones. Where is Dan Connolly when you need him?
     
Let's face it,folks, people do their best work when they're allowed to do 
what 
they do best.  With this in mind, I would like to make a modest proposal to 
future standards writing committees:  (1) The job of the people actually 
writing
the standard is to concentrate on precision and elegant simplicity, even if 
this
means using the notation of mathematics or symbolic logic. (2) All standards 

writing committees must have one or more staff members who are technical 
writers.  The staff members' job is to be "intelligent laymen (lay persons?
)", 
to listen to the proceedings, ask questions to help with their own 
understanding, and to explain and interpret the standards in operational 
terms 
to the rest of us (3) All standards will be published as "annotated 
standards" 
with the annotations published in alternating blocks of text, perhaps in a 
different type font.

The object of this proposal is that it allows each group of persons to do 
what 
it does best and assures that there will be no lag time between the 
publication 
of the standard and the publication(s) of interpretations.    

______________________________ Forward Header 
__________________________________
Subject: "Clean Specs"
Author:  owner-xml-dev at ic.ac.uk_at_INTERNET at X400PO
Date:    2/7/99 10:42 AM


What is a "clean spec?"
     
People in this discussion are mixing together a variety of things that I 
do not consider the same.
     
Uche Ogbuji wrote:
> I have worked on teams implementing DOM, XSL and parts of XLL.  Some users 

> might grant that we have been "succeeding", but let me assure you that if 
so,
> it is despite the W3C specs, not because of them.  DOM, especially is
> unforgivably inconsistent, incomplete, and unclear for a production-ready 
> (1.0) specification.
     
There is not a SINGLE person on this mailing list that would say that it 
is right to create specifcations that are inconsistent, incomplete or 
unclear. It is beyond doubt that specifications in the XML family, 
including XML itself, have these problems. The question is how to avoid 
that?
     
 * some people say that what the spec needs is "more English". But much of
the problem with the namespaces specification comes from ambiguity in the 
English.
     
 * some people say that we need "more non-normative text" but once again,
it is a non-normative appendix that is confusing people.
     
What almost nobody has suggested is that we need more formal notation. Now 
if we look at James Clark's "clarifying" document what we see is *less* 
English text and *more* notation.
     
As David Megginson has pointed out, when a spec. invents a notation to 
explain its abstract concepts the spec. becomes temporarily harder to read 
because you have to learn the notation before the specification. This will 
turn people off. I remember that Algebraic notation turned me off in my 
first year math classes. But in the *long run* it makes life easier for 
everyone. Implementors have precise definitions of what the hell they are 
supposed to implement. End-users get software they can use. People reading 
the specification for their own education and edification will understand 
it better -- if they perservere through the task of learning the notation.
     
I know that W3C spec. writers are under pressure to use more normative 
English and less normative notation. This is not a vote for "clean" 
specifications. It is a vote for messy, hard-to-implement ones. Where is 
Dan Connolly when you need him?
     
Let me point out: the CSS and HTML specifications are easy to read because 
everyone who wants to read them already understands the basic concepts of 
web pages and layout. They are concrete implementations of ideas we 
already understand. The same goes for Java. (and yes, I read the Java 
specification, but AFTER I already knew Java)
     
I wonder if anyone on this list has ever learned a language that was 
radically different from what they already knew through the language 
specification: Scheme, Prolog, APL?
     
Technical writing is damn hard. When you do it right, you must make 
certain decisions about ordering of concepts and revelations that are the 
exact opposite of what you do in writing a specification. When you write a 
spec., you need to present things in the order of fundamental building 
blocks to high level concepts. In technical writing you will put your 
students to sleep if you zoom in on details before explaining the general 
framework.
     
I've told people who want to read the DSSSL specification to start at the 
back and work forwards. Of course once they become implementors then they 
read it the opposite way around. Life is hard for implementors. I'd rather 
be forced to implement the entire suite of XML specifcations over HTML/CSS 
2. That isn't a slight against HTML/CSS, it's just an attempt to put 
things in perspective.
     
 Paul Prescod  - ISOGEN Consulting Engineer speaking for only himself 
 http://itrc.uwaterloo.ca/~papresco
     
"Remember, Ginger Rogers did everything that Fred Astaire did, 
but she did it backwards and in high heels."
                                               --Faith Whittlesey
     
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk 
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 

981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message; 
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;

     
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)


More information about the Xml-dev mailing list