[OT] What are D's values?

harakim harakim at gmail.com
Sat Oct 30 08:27:52 UTC 2021


On Monday, 4 October 2021 at 13:23:40 UTC, Paul Backus wrote:
> In ["Rust and Other Interesting Things"][1], Bryan Cantrill 
> talks about the importance of a programming language's *values*.
>
> Values, he says, are the things a language *prioritizes*--the 
> things it chooses when difficult tradeoffs have to be made. For 
> example: everyone agrees that both "safety" and "performance" 
> are valuable, but when forced to choose, some languages (Java, 
> Python) are willing to trade away some performance for 
> additional safety, whereas others (C, C++) would rather give up 
> safety to gain performance.
>
> When we're choosing a programming language, Cantrill tells us, 
> choosing one with the right *values* is just as important as 
> choosing one with the right *features* and *ecosystem*--because 
> values are what determine how those features and ecosystem will 
> develop over time.
>
> 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
>
> I thought it might be fun to ask the D community: **which of 
> the above values do you think are the most important to D? 
> Choose no more than 5, and reply with your answer!**
>
> I've put my answer below, encoded using [ROT13][2]. Try to come 
> up with your own answer before you read mine, to avoid biasing 
> yourself.
>
> [1]: https://www.youtube.com/watch?v=2wZ1pCpJUIM
> [2]: https://rot13.com/
>
> ---
>
> V guvax Q'f svir zbfg vzcbegnag inyhrf ner
>
> * Nccebnpunovyvgl - obgu Q'f flagnk naq ynathntr srngherf ner 
> qrfvtarq gb or   snzvyvne gb hfref bs bgure cbchyne ynathntrf 
> (r.t., P, Wnin, Clguba,   Wninfpevcg). gbhe.qynat.bet zragvbaf 
> n "tenqhny yrneavat pheir" nf na   rkcyvpvg qrfvta tbny.
>
> * Rkcerffvirarff - jvgu srngherf yvxr grzcyngrf, zvkvaf, naq 
> bcrengbe   bireybnqvat (vapyhqvat bcQvfcngpu), Q vf bar bs gur 
> zbfg rkcerffvir ynathntrf   guvf fvqr bs Yvfc.
>
> * Fnsrgl - abg whfg @fnsr, ohg nyfb qrsnhyg vavgvnyvmngvba bs 
> inevnoyrf,   obhaqf-purpxvat sbe neenlf, rkprcgvbaf sbe reebe 
> unaqyvat, naq ybgf bs bgure   yvggyr qrpvfvbaf.
>
> * Cresbeznapr - angvir pbzcvyngvba, bs pbhefr, cyhf ybj-yriry 
> srngherf yvxr enj   cbvagref, vayvar nfz, naq ohvyg-va FVZQ 
> bcrengvbaf.
>
> * Vagrebcrenovyvgl - abg bayl qbrf Q unir orfg-va-pynff P 
> vagrebc, naq gur   qvfgvapgvba bs orvat bar bs gur bayl 
> ynathntrf gb rira *nggrzcg* P++ vagrebc,   vg nyfb unf fhccbeg 
> sbe Bowrpgvir-P pynffrf naq PBZ vagresnprf.

I'm not an expert so I'm a little hesitant to post, but I'd say:

Interoperability with C libraries - There are so many C libraries 
that do interesting things
Performance - I like that the performance is reasonable, although 
I think most mainstream languages are getting there.
Expressiveness - Any time I want to do something, from pointer 
based string functions to meta programming to multithreading via 
messaging, I find it in D. There is low mental friction. I also 
like that I can start with something not as strict and add 
strictness as I go.
Free Nature - I like that it's future is not owned by Oracle, 
Apple or anyone like that.
I also value the portability between windows and linux so I guess 
I'll make that number 5


More information about the Digitalmars-d mailing list