stability

Derek Parnell derek at psych.ward
Sun Feb 24 02:13:17 PST 2008


On Sun, 24 Feb 2008 09:12:18 +0000, Janice Caron wrote:

> On 24/02/2008, Derek Parnell <derek at psych.ward> wrote:
>>  So I would imagine that before another D compiler is written, a
>>  specification is created that forms the benchmark to measure what is a
>>  conforming D compiler.
> 
> Specifications can have bugs in them too.

Really?? I'm shocked beyond sarcasm!

> That's why specifications have continual addenda and/or new versions.

Ohhh, I wondered why that happened.

> Without that, conforming implementations would be forced to implement
> bugs.

Well thankfully we have people in this world who are willing to correct
mistakes in specifications.

> The /real/ definition of a bug is probably "doesn't do what the
> designer intended it to do". That's certainly true when /I/ write code
> - if it doesn't do what I want, it's a bug. /Sometimes/ what I want it
> to do is comply with a spec, in which case non-compliance is a bug,
> but other times I'm creating something new, but in either case, a bug
> is "it doesn't do what I intended".
> 
> In the case of D, I'm happy that Walter is not constrained to a
> possibly buggy spec.

I think that you and I have different experience about what is a
specification. To me, a specification is a description of what will be
achieved by some system/application, which is agreed upon by the
stakeholders of the system. Yes, it likely that it will contain errors, we
are human no? Yes, it is likely to be changed over time; to clarify, to
remove functionality no longer required, and to add functionality that is
now required. All this happens under the watchful eyes of the stakeholders
in order to minimize mistakes in the specification. 

A good piece of software will implement mistakes in the spec. That same
softare will also be modified to keep in synchronization with the spec. In
my experience, it often happens that mistakes in the spec are discovered by
the implementers. 

In the case of D, I'm not happy that Walter is not constrained to a
possibly buggy spec. 

A specification, with or without bugs, does not cause bug free software.
However, how will we know if an application contains bugs if you can't know
"what the designer intended it to do" in the first place? The specification
is supposed to tell us what the designer wanted.

I refuse to believe that Walter could not create a better D compiler if it
was known what a D compiler was supposed to do. 

-- 
Derek Parnell
Melbourne, Australia
skype: derek.j.parnell



More information about the Digitalmars-d mailing list