[OT] What are D's values?

jfondren julian.fondren at gmail.com
Mon Oct 4 19:35:08 UTC 2021


On Monday, 4 October 2021 at 18:23:24 UTC, SealabJaster wrote:
> On Monday, 4 October 2021 at 18:03:58 UTC, Steven Schveighoffer 
> wrote:
>> You have to be very religious about what templates you use in 
>> order to keep this compile time.
>
> A sad truth about D.

You can have a shockingly fast compiler if you want it. You can 
have fully manual memory with RAII and shared/unique pointers if 
you want them. You can have code that looks like a scripting 
language and relies heavily on the GC if you want it. You can 
have code that looks like it's in an FP language if you want it. 
You can have monadic error handling if you want it a lot. You can 
have borrow-checked pointers if you want them.

But you can't have it all at once. Not in D, where sublanguages 
containing each of these features is available, and not in any 
other language, where some features aren't available and others 
are inescapable.

For branding, put a smiley face on this instead of calling it a 
sad truth. Need to write a tiny static executable to do a single 
thing fast using low-level OS APIs so that it can achieve 
paranoid security for the sake of Perl or Python or bash scripts 
that call this program? Good candidate for BetterC. Want to write 
a near-throwaway script? Good candidate for 'import std' and tons 
of allocation. Want to write a daemon to replace a golang server 
that's too resource intensive? Better candidate for scoped 
imports and careful design with @nogc and nothrow helping you 
control where work is happening.

All that with the 'same' language, rather than "oh I'll use C", 
"oh I'll use Python", "oh now I can finally use my systems 
language".

Of course I still want faster compilation of std.regex.


More information about the Digitalmars-d mailing list