What is D?

Abdulhaq alynch4047 at gmail.com
Mon Apr 8 18:36:02 UTC 2019


On Sunday, 7 April 2019 at 13:05:14 UTC, Mike Franklin wrote:
> On Sunday, 7 April 2019 at 11:39:01 UTC, Abdulhaq wrote:
>> What is D?
>
> I think D started not as a better C++, but as a better Java.  I 
> think Walter saw the appeal of Java and wanted to explore 
> making it compile to native binaries.  There is evidence of 
> this with things like `super`, single inheritance with multiple 
> interface implementation, the garbage collector, etc.  When D 
> started it didn't have templates, and I even heard Walter 
> forbade templates at first.
>

Mike's already given a good answer to this but yes Walter wrote a 
compiler for Java a long time ago, and also gcc was able to 
compile Java too 
(https://en.wikipedia.org/wiki/GNU_Compiler_for_Java) which was 
also unsuccessful - there doesn't seem to be a market for that.

> I also think D is more evolution than intelligent design.  It 
> has evolved so much over the years, moving away from a "native 
> java" to to more of a "better C++".  It think that has 
> contributed much to its oddities, warts, and technical debt.
>

Yes it's evolved but was any other way practical?

> A few years ago D's slogan was changed to "Fast this, fast 
> that, yada yada".  I honestly don't know what it is because I 
> read it once, immediately hated it, and forgot it.  Prior to 
> that change, D's slogan was "Modeling power, modern 
> convenience, and native efficiency" See 
> https://www.youtube.com/watch?v=Kn88228KSpQ for a presentation 
> by Walter elaborating on this. <-- THIS IS D!
>

I do get the feeling that speed takes precedence over most other 
features.

> I think over the past few years it has become apparent that D 
> has also become a case study in design by introspection:  See 
> https://www.youtube.com/watch?v=Kn88228KSpQ for a presentation 
> by Andrei elaborating on this.
>

I haven't watched this yet but keep meaning too. I have a 
suspicion that it's a bit like duck typing so I should learn more 
and find out if that's true or not. I can't help thinking that 
that is what happened to ranges and now Andrei is trying to 
tighten them up. No doubt I am totally wrong though!

You're points about other languages are well taken and 
interesting. D does seem to do better here. I think what you 
value about D is very representative of the body of D users - a 
very powerful and expressive systems language. Safety comes below 
expressiveness.

My feelings though are that the future all-conquering C++ 
replacement will be the language that gets safety right, while 
providing properly isolated systems style code to do the 
necessary dirty work, providing as many guarantees as possible 
given that requirement. D has @system and @safe which are the 
right direction but don't seem to provide sufficient safety. ATM 
@safe seems to be subtractive meaning that Walter is slowly 
picking away with new code that disallows constructs where (it 
turns out) it doesn't actually provide safety. I'd rather have a 
solution which was additive in the sense that it starts 100% safe 
with less functionality (e.g. no raw pointers / systems style 
code?) and then slowly more power can be opened up. My gut finger 
in the air feeling is that D is 95% - 98% safe where it says it 
is safe. The all conquering language that drives cars, flies 
aeroplanes, controls robots for neurosurgery and governs 
financial transactions, will be at least 99.99% safe and it won't 
take great analysis for a reader of the code to have that 
confidence.

I also agree that W&A have not managed the project in an optimal 
way conducive to growing the numbers. Instead it seems they've 
focused on what they enjoy doing - coding, not managing and 
reviewing - that or, in Andrei's case it seems, doing the washing 
up and hoovering in in preference to managing. I've all been 
there!

>
> I'm giving D another try hoping Walter and Andrei are willing 
> to embrace a little change.
>

In broad terms, what would you change?



> Mike




More information about the Digitalmars-d mailing list