D vs Go in real life

Craig Dillabaugh craig.dillabaugh at gmail.com
Fri Dec 6 04:38:55 PST 2013


On Friday, 6 December 2013 at 12:13:28 UTC, Joseph Rushton 
Wakeling wrote:
> On 04/12/13 23:14, Walter Bright wrote:
>> I'm opposed to it.
>>
>> For one example, a year ago I had to make dmd work on Win64. 
>> LLVM didn't support
>> Win64. I would have been stymied.
>>
>> It is very good for D to have 3 equivalent implementations - 
>> dmd, gdc, and ldc.
>> Each has its strengths and weaknesses. It makes for a very 
>> strong ecosystem.
>
> The problem we have is that while all 3 implementations are 
> equivalent, some implementations are more equivalent than 
> others ... :-)
>
> Sometimes this can be a downstream problem -- people testing 
> code with DMD but not LDC or GDC, so bugs or issues don't get 
> recognized (or they do, but the bugs don't get reported to the 
> compiler teams).  But more fundamentally, it's that if you're 
> running git-HEAD DMD, you're running the very latest code, 
> whereas if you're running git-HEAD LDC or GDC, you're still 
> running only the latest stable frontend/runtime/standard 
> library releases.
>
> So, that means that if you need the ability to get fast 
> turnaround on bugfixes or new features, you HAVE to run DMD.
>
> That really seems a constraint that we ought to be free of.

But is D not still doing a better job than Microsoft is of 
keeping their C++ compiler up to the latest C++ standard?

In fact in the C++ world all the compilers lag the standard to 
some extent. Its hard to expect that D would have all the 
compilers exactly in sync, though with the common front-end it 
should help.


More information about the Digitalmars-d mailing list