New Features Always Come With Bugs

Falk-Florian Henrich schreibmalwieder at hammerfort.de
Thu Apr 12 13:30:51 PDT 2007


Am Thu, 12 Apr 2007 15:43:51 -0400 schrieb Nicolas J.:

> Well, you can't blame Walter for not guessing that you discovered and
> fixed bugs in the compiler. He is not omniscient.

I didn't assume anyone to be omniscient, neither did I blame anyone. 
However, I do think the current development model is inefficient as it 
wastes resources: people who would like to help get turned away.

> 
> But I second the idea that two branches are necessary. Because the idea
> behind a STABLE branch is to have LESS bugs for each new version, not
> more. You could have submitted your bug fixes to this branch.

Exactly. In my opinion, the D source is not that difficult to read. If 
one is willing to spend some time it's not too hard to understand how it 
works. That's why I think a lot of people could actually help fixing 
bugs. Nevertheless, it would still be Walter's decision which patch to 
include and which to reject. There won't be to many crappy patches, and 
even if so, some two or three experienced people could filter them out so 
that Walter only has to deal with "good submissions". Probably, this 
would reduce his workload considerably.

> As has already been said, which serious company could reasonably bet on
> a language which is always unstable ? There is one point where one wants
> to be able to trust the tool of the trade. Even if this tool has
> acknowledged limitations, one learns to know them and how to deal with
> them. The good thing with a STABLE branch is, it offers a chance to see
> bug fixes without any risk of broken code.
> 
> Because the language evolves constantly, it is not possible for library
> writers to keep up. The bad thing is, different libraries may take
> advantage of different features of the language because they were
> written for different versions of the compiler. This means that
> libraries are not guaranteed to be compatible with each other.
> 
> In order to insure compatibility between libraries, they must all be
> written for a defined set of features, i.e for a single version of the
> compiler (or for bug fix versions of this compiler). This would be the
> role of the STABLE branch.
> 
> Every year or so, the DEV branch becomes the STABLE branch, and all the
> library writers can update their code for the new stable compiler,
> taking advantage of its new features. And the application writer can
> then confidently use all these libraries, knowing that they are
> compatible.
> 
> This is more or less how all major languages evolve. Why would D be any
> different ?

I totally agree.

Falk



More information about the Digitalmars-d mailing list