C is Brittle D is Plastic

Richard (Rikki) Andrew Cattermole richard at cattermole.co.nz
Wed Apr 1 22:51:02 UTC 2026


On 02/04/2026 5:11 AM, Walter Bright wrote:
> On 3/30/2026 7:23 AM, Dennis wrote:
> 
>     I'm glad D users at least use standard |.length|, |ulong.max| and |
>     foreach| instead of everyone inventing their own versions of them.
> 
> The motivation for D's |debug| statements and declarations was a 
> Microsoft manager's lament to me that every C team had a different 
> standard on how to mark debug code. This made it very tedious to share 
> code. |debug| also turns off safety checks, so one can insert whatever 
> is needed to debug the code.

My one gripe with version and debug statements, is the non-standard 
names for the identifiers.

It should've been tied to the module system:

```d
debug(my.pack:whatever) {}
debug(my.mod.ule:thing) {}
debug(:feature) {} // automatically for module
```

Without this, its always a worry for me about namespace clashing.

> Standardizing common things turns out to be a big deal.

I am going to quote you on that one, a lot, thanks for the quote!



More information about the Digitalmars-d mailing list