[OT] What are D's values?
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"], 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]. Try to come
> up with your own answer before you read mine, to avoid biasing
> : https://www.youtube.com/watch?v=2wZ1pCpJUIM
> : 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
> * 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