Thread overview | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
February 17, 2016 Official compiler | ||||
---|---|---|---|---|
| ||||
I was reading the other thread "Speed kills" and was wondering if there is any practical reason why DMD is the official compiler? Currently, newcomers come expecting their algorithm from rosetta code to run faster in D than their current language, but then it seems like it's actually slower. What gives? Very often the typical answer from this community is generally "did you use LDC/GDC?". Wouldn't it be a better newcomer experience if the official compiler was either LDC or GDC? For us current users it really doesn't matter what is labelled official, we pick what serves us best, but for a newcomer, the word official surely carries a lot of weight, doesn't it? From a marketing point of view, is it better for D as a language that first-timers try the bleeding-edge, latest language features with DMD, or that their expectations of efficient native code are not broken? Apologies if this has been discussed before... |
February 18, 2016 Re: Official compiler | ||||
---|---|---|---|---|
| ||||
Posted in reply to Márcio Martins | On Wednesday, 17 February 2016 at 22:57:20 UTC, 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? > > ... I pretty much asked this same question a little over a year ago. Thread is here: http://forum.dlang.org/thread/mjwitvqmaqlwvoudjoae@forum.dlang.org |
February 18, 2016 Re: Official compiler | ||||
---|---|---|---|---|
| ||||
Posted in reply to Márcio Martins | 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?
|
February 18, 2016 Re: Official compiler | ||||
---|---|---|---|---|
| ||||
Posted in reply to Chris Wright | 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?
Hmm, I think most of us involved with D for a while know which compiler to use and why, right?
But would it be beneficial to D as a language if we could make it so that the first compiler a newcomer interacts with, will be the one that produces code as fast as C/C++?
Walter and everyone else could continue working on DMD as the reference compiler and pushing language features. Everyone that uses DMD could continue using it. Nothing would have to change, except for the website, and perhaps some work on building installers for LDC and GDC to also a "Easy installation" description on the downloads section :)
Purely a marketing move, if that makes sense, I don't know...
|
February 18, 2016 Re: Official compiler | ||||
---|---|---|---|---|
| ||||
Posted in reply to Márcio Martins | On Wednesday, 17 February 2016 at 22:57:20 UTC, 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?
>
> [...]
Developer politics, I believe.
I'm curious where Andrei stands on this issue, IIRC he was upset at one point that dmd could not be redistributed properly on linux distros.
|
February 18, 2016 Re: Official compiler | ||||
---|---|---|---|---|
| ||||
Posted in reply to Xinok | On Thursday, 18 February 2016 at 00:06:10 UTC, Xinok wrote:
> On Wednesday, 17 February 2016 at 22:57:20 UTC, 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?
>>
>> ...
>
> I pretty much asked this same question a little over a year ago. Thread is here:
>
> http://forum.dlang.org/thread/mjwitvqmaqlwvoudjoae@forum.dlang.org
I am not proposing a new backend for DMD, that discussion is going nowhere. I am considering changing the compiler that is tagged as "official", instead.
|
February 18, 2016 Re: Official compiler | ||||
---|---|---|---|---|
| ||||
Posted in reply to Márcio Martins | On Thursday, 18 February 2016 at 02:29:52 UTC, Márcio Martins wrote:
> On Thursday, 18 February 2016 at 00:06:10 UTC, Xinok wrote:
>> On Wednesday, 17 February 2016 at 22:57:20 UTC, 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?
>>>
>>> ...
>>
>> I pretty much asked this same question a little over a year ago. Thread is here:
>>
>> http://forum.dlang.org/thread/mjwitvqmaqlwvoudjoae@forum.dlang.org
>
> I am not proposing a new backend for DMD, that discussion is going nowhere. I am considering changing the compiler that is tagged as "official", instead.
It would probably be for the best if there was some push to make LDC 'the' D compiler over a 6 month or 1 year period that included getting LDC and DMD perfectly in sync(AFAIK there's currently heavily refactoring going on in the frontend to help this?)
LDC has the downside in that it's a lot slower than DMD. I've never worked on the LDC codebase so I'm not even sure if this could be fixed.
|
February 18, 2016 Re: Official compiler | ||||
---|---|---|---|---|
| ||||
Posted in reply to Márcio Martins | On Wednesday, 17 February 2016 at 22:57:20 UTC, 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? > > Currently, newcomers come expecting their algorithm from rosetta code to run faster in D than their current language, but then it seems like it's actually slower. What gives? > > Very often the typical answer from this community is generally "did you use LDC/GDC?". > > Wouldn't it be a better newcomer experience if the official compiler was either LDC or GDC? > For us current users it really doesn't matter what is labelled official, we pick what serves us best, but for a newcomer, the word official surely carries a lot of weight, doesn't it? > > From a marketing point of view, is it better for D as a language that first-timers try the bleeding-edge, latest language features with DMD, or that their expectations of efficient native code are not broken? > > Apologies if this has been discussed before... Hi, even if DMD is the official reference compiler, the download page http://dlang.org/download.html already mentions "strong optimization" as pro of GDC/LDC vs. "very fast compilation speeds" as pro of DMD. If we would make GDC or LDC the official compiler then the next question which pops up is about compilation speed.... Regards, Kai |
February 18, 2016 Re: Official compiler | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kai Nacke | On Thursday, 18 February 2016 at 06:57:01 UTC, Kai Nacke wrote:
> On Wednesday, 17 February 2016 at 22:57:20 UTC, Márcio Martins wrote:
>> [...]
>
> Hi,
>
> even if DMD is the official reference compiler, the download page http://dlang.org/download.html already mentions "strong optimization" as pro of GDC/LDC vs. "very fast compilation speeds" as pro of DMD.
>
> If we would make GDC or LDC the official compiler then the next question which pops up is about compilation speed....
>
> Regards,
> Kai
an additional major pro of ldc/gdc is that they're under a free license and can be freely redistributed, dmd is not
|
February 18, 2016 Re: Official compiler | ||||
---|---|---|---|---|
| ||||
Posted in reply to Chris Wright | 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?
Correct me, but If I understand correctly what I read on other threads, LDC & GDC uses the same frontend that DMD, but a few versions more older because they need to update the glue layer the front end with lvm/gnu backend ?
|
Copyright © 1999-2021 by the D Language Foundation