[OT] What are D's values?

Walter Bright newshound2 at digitalmars.com
Mon Oct 4 22:15:33 UTC 2021

On 10/4/2021 6:23 AM, Paul Backus wrote:
> One slide in his presentation contains a list of things that a programming 
> language might value:
>      Approachability   Integrity        Robustness
>      Availability      Maintainability  Safety
>      Compatibility     Measurability    Security
>      Composability     Operability      Simplicity
>      Debuggability     Performance      Stability
>      Expressiveness    Portability      Thoroughness
>      Extensibility     Resiliency       Transparency
>      Interoperability  Rigor            Velocity

Interestingly, left off is one thing that D does very well at: plasticity. What 
do I mean by that?

I've been developing code for a loooong time. I've noticed a couple long term 
trends with C and C++ code. One is brittleness.

This manifests itself in the strange characteristic that no matter how many 
years I work on a piece of code, the very first organization of it and the 
structure of it never fundamentally changes. Oh, I endlessly tweak it and 
optimize it and enhance it, but it's still the original design under the hood.

I.e. it is brittle.

With D code, however, I've found it to be far easier to change the design. 
Optimization becomes not so much sweating the details, but lowered barriers to 
trying out different designs to see what works better. I did this extensively on 
the Warp preprocessor project.

I discovered a key component of this is D's use of . instead of ->. One can 
easily test drive with classes, structs, pointers, and values, interchanging 
them as one would try on a shirt. It's such a frackin' nuisance to do that in C 
and C++, one just doesn't bother.

This is plasticity, the opposite of brittleness.

What are your experiences with this?

More information about the Digitalmars-d mailing list