[OT] What are D's values?
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