dmd 1.046 and 2.031 releases
Walter Bright
newshound1 at digitalmars.com
Mon Jul 6 12:25:44 PDT 2009
BCS wrote:
> The much worse class of bugs is the ones that you can be staring at the
> location of the bug, have an epiphany about what the bug is and still
> not be able to tell if it is the case: the bug is here, but cause by a
> line of code that could be anywhere.
If I understand that correctly, it's when you alter one line or
declaration in one part of the code, and it silently breaks another
piece of code far away in some other piece of not-obviously-related code.
I tend to agree.
It's why we don't hardcode array dimensions outside of the declaration -
we started out in C by using a #define for it, and then in D encode the
array dimension as part of the type. A local issue is one that has no
adverse effects outside of the local context. The fall-through would be
this. A non-local one is one like adding an enum case, because it can
silently break code far away.
D makes some significant progress in reducing the non-local effects of
changes, and is one of the big improvements over using C and C++.
More information about the Digitalmars-d-announce
mailing list