On Thursday, 18 February 2016 at 10:16:40 UTC, Radu wrote:
On Thursday, 18 February 2016 at 00:35:01 UTC, Chris Wright
wrote:
On Wed, 17 Feb 2016 22:57:20 +0000, Márcio Martins wrote:
I was reading the other thread "Speed kills" and was
wondering if there is any practical reason why DMD is the
official compiler?
Walter Bright is the lead developer, and for legal reasons he
will never touch source code from a compiler he didn't write.
And since DMD is something like twice as fast as LDC, there's
at least some argument in favor of keeping it around.
Should Walter retire, there's a reasonable chance that LDC
will become the primary compiler. However, compilation speed
is important.
I'm not sure how different LDC and DMD are, but perhaps you
could use DMD for development and LDC for production builds?
Walter should not need to ever work on D compiler back-ends,
there are *a lot* of issues to be dealt with in the language
implementation that are front-end only or at least not backend
related. There are others that can work/already work with the
LLVM backend and they seam to know what they are doing.
There warts and issues in the language/runtime/phobos are well
know, spending time fixing them is more valuable for the
community rather than having Walter (maybe others) working on
any dmd backend stuff.
As rsw0x suggested, a push to get LDC on sync with mainline,
and switching to it after it would make more sense in the long
run. Probably focusing on LDC and investing more man power will
also help fix any perf issues re. compile time, there should
bot be much to loose here at least for debug compile times.
All this of course depends on Walter's willing to give up
working on DMD, whatever this means for him.
Walter doesn't have to give up working on DMD, right? Everyone
could continue working on DMD, perhaps a few people could help on
all three, I don't know... It's important if more people work on
DMD and focus on polishing the frontend and language features,
being the reference compiler, and used by all three compilers as
well. What could potentially be important would be to backport
key fixes/features from current frontend to LDC/GDC as well.