[OT] What are D's values?

SealabJaster sealabjaster at gmail.com
Mon Oct 4 21:35:31 UTC 2021


On Monday, 4 October 2021 at 19:35:08 UTC, jfondren wrote:
> ...

Definitely a more fun way to look at things :)

However trying to get things like this across to people who don't 
really use D would be tricky.

"Why choose D over Python for quick scripts?"

"Why choose D over C/C++ for low level code, also something 
something GC"

"Why choose D over Go or Java or even Javascript for backend web 
dev?"

Low level code in particular can be a bit annoying, since D 
doesn't provide standard collections and lifetime containers for 
a decent 'get stuff done' `@nogc` experience, but I've ranted 
about that enough. This is mainly a major issue to me from a 
library perspective, since libraries don't have a singular 
interface to rally around.

I really wish I could use D everywhere, but I sometimes I just 
feel more comfortable in say, C# for backend servers due to the 
excellent Asp Core and EF Core. Standard configuration interface, 
standard logging interface, standard dependency injection, which 
all the other libraries I want will integrate with flawlessly(tm).

Since D can technically cover most major aspects of programming, 
coming up with an answer of these "why" questions, especially 
when performing comparisons to other languages, is pretty hard 
due to the broad surface area to cover.

Also something something libraries >;3

I definitely do wonder what D would look like with an "insert 
popular language" user base, from discussions, to ecosystem, and 
certainly the pain points and pros that people find with the 
language.

But "why" use D? "What" do we offer language wise, ecosystem 
wise, etc.

I feel the "ecosystem" part is the larger part to focus on IMO.

We can boast all we want about great native performance; some of 
the strongest metaprogramming available, all with an easy and 
clean syntax. But if people can't just 'get things done' then the 
friction of setting up/writing/creating a binding for the code 
they need might be too much, so they leave for a different 
language with everything they need all ready to go, all 
integrated together, etc.

But enough rambling, I'm not even close to an expert on these 
subjects >:D

Anyway, as an attempt to stay on topic, my values from that 
selection are:

1. Performance
2. Interoperability
3. Robustness
4. Extensibility++++
5. Expressiveness


More information about the Digitalmars-d mailing list