W3C home > Mailing lists > Public > www-style@w3.org > May 2004

Re: Percentage height meaurements./ box-sizing

From: Boris Zbarsky <bzbarsky@MIT.EDU>
Date: Sun, 30 May 2004 20:32:58 -0500
Message-ID: <40BA8B4A.2020702@mit.edu>
To: Mikko Rantalainen <mira@cc.jyu.fi>, www-style@w3.org

Mikko Rantalainen wrote:
>> Which means you have to reverse-engineer the reference
>> implementation, basically?
>
> I understand 'reverse-engineering' as reconstructing "blue prints"
> from finished product. Reference implementation (source code) is an
> *exact* blue print description of only allowed behavior [1].

This makes the assumption that all behavior of the reference implementation is 
there on purpose.  I find it very hard to believe that this would actually be 
the case in a program of any complexity.

For example, if the reference implementation segfaults under certain conditions, 
is that part of the specification?  If not, then what parts of the behavior of 
the reference implementation _are_ part of the specification?

> Sure, it isn't in English, but it's far from reverse-engineering.

Well... Unless one lifts the reference code completely, one has to implement 
one's own code that behaves the same.  How does one decide that it behaves the 
same?  Either you perform analysis of the reference source, trying to figure out 
what it's trying to do, or you perform analysis of the behavior of that source. 
  The latter is precisely reverse engineering; the former is not much simpler 
(if you think it is, I can point you to some table layout code and ask you to 
describe how you'd implement it...)

> As I said, that's the "most strict spec". One can have bugs in any
> spec, it's only that the bugs in reference implementation can be
> more easily found than from a human language written description.

I'm not sure I agree here.  The human language description is probably much 
simpler to read and bugs in _design_ (as opposed to _implementation_) are much 
simpler to find.

> The point I was trying to make was that if Andrew couldn't come up
> with a spec that described the requested feature well enough, he
> could just publish his reference implementation instead.

That wouldn't really be a sufficient substitute, since reading a reference 
implementation is orders of magnitude harder than reading a properly written 
specification of behavior.

In short, there's a reason people create written specifications...

-Boris
Received on Sunday, 30 May 2004 21:33:03 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:54:30 GMT