Feedback on bug reports
David B. Held
dheld at codelogicconsulting.com
Sun Mar 18 18:20:06 PDT 2007
Thomas Kuehne wrote:
> [...]
> While the communication issue raised by the GPs is valid the question
> why bugs aren't fixed seems to be a much more pressing one.
This is a great point. While D is more of a Benevolent Dictatorship
than an Open-Source community, there is a *lot* that the community can
do without Walter (like Mango, Tango, DTL, DDT, Descent, DForms, etc. ad
nauseum). Fixing bugs is important, but working around bugs is an even
more important skill.
I spent nearly 10 years of my life putting bread on the table with a
commercial compiler with spotty support (Borland C++Builder). People
would report bugs on the forums on an almost daily basis, but you were
lucky if 10% of them got fixed in any given patch. Eventually Borland
released a tool to help give visibility to the bugs and progress being
made, but it simply was not realistic to expect that even a team of a
dozen or more professional compiler writers were going to fix all the
bugs. Instead, you learn to code around them.
Consider Boost. It's arguably one of the most advanced source code
libraries in existence, but it probably has far more conditional
compilation than the average library because it demands portability.
Most of those conditional blocks are due to compiler bugs in one
implementation or another, and yet Boost is a very high-quality product.
Aleksey Gurtovoy got Boost.MPL to compile on VC++ 6.5! If that is
possible, then I'm sure it is possible to work around a good majority of
the bugs that exist in D.
That is not to excuse D bugs. Walter should be lashed with a wet noodle
for every bug that exists in the compiler. But the reality is that if
everyone were paying him a $1,000/year support contract, everyone would
still have open bugs, all the time (I know, because lots of Borland
customers had much more expensive support contracts, and they still
complained about open bugs).
In my view, it is important to continue filing bug reports and telling
Walter which ones cause the most pain. But at the same time, it is more
productive to work around the bug with an obvious and ugly static if
(BUG_123456_ISNT_FIXED_YET) and make progress. Since the vast majority
of areas in which D could use improvement (library support, namely, but
tools as well) do not require direct intervention on Walter's part, the
community would serve itself best by figuring out how to contribute,
rather than how to whine. And at the end of the day, you will be able
to say you got to participate in the development of D.
Another thing which might be helpful is to have a Top 10 Worst Bugs page
on the wiki where users can vote for the bugs which cause the most pain,
as a hint to Walter where his efforts would be appreciated the most.
Maybe there's something like that already, but I haven't stumbled across it.
Finally, the best way to improve D is to take Thomas up on his challenge
and help fix the compiler tests. If necessary, add finer-grained unit
tests. It may well be that half the bugs reported are fixable in userspace.
Dave
More information about the Digitalmars-d
mailing list