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