www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - D : dmd vs gdc : which one to choose?

reply "Mayuresh Kathe" <mayuresh kathe.in> writes:
How do I (a newbie to D) figure out which compiler set to use?
I am running Ubuntu 14.10, and intend to stick with it in the 
long term.
Should I choose DMD or go with GDC?
I would like to know the rationale for suggestions for either.

Thanks.
Feb 19 2015
next sibling parent reply Rikki Cattermole <alphaglosined gmail.com> writes:
On 19/02/2015 9:46 p.m., Mayuresh Kathe wrote:
 How do I (a newbie to D) figure out which compiler set to use?
 I am running Ubuntu 14.10, and intend to stick with it in the long term.
 Should I choose DMD or go with GDC?
 I would like to know the rationale for suggestions for either.

 Thanks.
Atleast while learning stick with dmd. It is the reference compiler. There are far more developers involved in its production then GDC. And anyway, GDC is still hasn't been updated to the latest version of D. And its the last major D compiler that hasn't. There is a D-apt repository, which will interest you. http://d-apt.sourceforge.net/
Feb 19 2015
next sibling parent reply "Mayuresh Kathe" <mayuresh kathe.in> writes:
On Thursday, 19 February 2015 at 09:10:16 UTC, Rikki Cattermole 
wrote:
 On 19/02/2015 9:46 p.m., Mayuresh Kathe wrote:
 How do I (a newbie to D) figure out which compiler set to use?
 I am running Ubuntu 14.10, and intend to stick with it in the 
 long term.
 Should I choose DMD or go with GDC?
 I would like to know the rationale for suggestions for either.

 Thanks.
Atleast while learning stick with dmd. It is the reference compiler. There are far more developers involved in its production then GDC. And anyway, GDC is still hasn't been updated to the latest version of D. And its the last major D compiler that hasn't. There is a D-apt repository, which will interest you. http://d-apt.sourceforge.net/
I thank you for your response, and thank you for that link. I installed the "dmd_2.066.1-0_amd64.deb" from the dlang.org website, though. :) Figured it best to stick with the official DMD as I am working through "The D Programming Language".
Feb 19 2015
parent Rikki Cattermole <alphaglosined gmail.com> writes:
On 20/02/2015 12:10 a.m., Mayuresh Kathe wrote:
 On Thursday, 19 February 2015 at 09:10:16 UTC, Rikki Cattermole wrote:
 On 19/02/2015 9:46 p.m., Mayuresh Kathe wrote:
 How do I (a newbie to D) figure out which compiler set to use?
 I am running Ubuntu 14.10, and intend to stick with it in the long term.
 Should I choose DMD or go with GDC?
 I would like to know the rationale for suggestions for either.

 Thanks.
Atleast while learning stick with dmd. It is the reference compiler. There are far more developers involved in its production then GDC. And anyway, GDC is still hasn't been updated to the latest version of D. And its the last major D compiler that hasn't. There is a D-apt repository, which will interest you. http://d-apt.sourceforge.net/
I thank you for your response, and thank you for that link. I installed the "dmd_2.066.1-0_amd64.deb" from the dlang.org website, though. :) Figured it best to stick with the official DMD as I am working through "The D Programming Language".
In that case, you probably also want to read the errata for TDPL. http://erdani.com/index.php?cID=109 For changes since that book was written.
Feb 19 2015
prev sibling parent reply ketmar <ketmar ketmar.no-ip.org> writes:
On Thu, 19 Feb 2015 22:10:11 +1300, Rikki Cattermole wrote:

 And anyway, GDC is still hasn't been updated to the latest version of D.
 And its the last major D compiler that hasn't.
LDC is 2.067 already? O_O 'cause GDC is 2.066.1 now.=
Feb 19 2015
parent reply Rikki Cattermole <alphaglosined gmail.com> writes:
On 20/02/2015 5:08 a.m., ketmar wrote:
 On Thu, 19 Feb 2015 22:10:11 +1300, Rikki Cattermole wrote:

 And anyway, GDC is still hasn't been updated to the latest version of D.
 And its the last major D compiler that hasn't.
LDC is 2.067 already? O_O 'cause GDC is 2.066.1 now.
Well according to GDC releases, it is still at 2.065. https://github.com/D-Programming-GDC/GDC/releases I was referring to full releases, not e.g. betas.
Feb 19 2015
parent reply ketmar <ketmar ketmar.no-ip.org> writes:
On Fri, 20 Feb 2015 13:29:09 +1300, Rikki Cattermole wrote:

 On 20/02/2015 5:08 a.m., ketmar wrote:
 On Thu, 19 Feb 2015 22:10:11 +1300, Rikki Cattermole wrote:

 And anyway, GDC is still hasn't been updated to the latest version of
 D.
 And its the last major D compiler that hasn't.
LDC is 2.067 already? O_O 'cause GDC is 2.066.1 now.
=20 Well according to GDC releases, it is still at 2.065. https://github.com/D-Programming-GDC/GDC/releases I was referring to full releases, not e.g. betas.
what is that "full release"? those tarballs are just convient packs for=20 those who don't know what to type after "git" command. 2.066.1 is=20 officially landed in git HEAD some time ago, Iain just didn't wrote=20 "whatsnew" for it (and Johannes wanted to land some ARM fixes). it's not=20 "beta", at least not on x86. but is that release blah-blah really=20 necessary to build the 2.066.1 version from official git?=
Feb 19 2015
parent reply ketmar <ketmar ketmar.no-ip.org> writes:
On Fri, 20 Feb 2015 02:08:19 +0000, ketmar wrote:

 On Fri, 20 Feb 2015 13:29:09 +1300, Rikki Cattermole wrote:
=20
 On 20/02/2015 5:08 a.m., ketmar wrote:
 On Thu, 19 Feb 2015 22:10:11 +1300, Rikki Cattermole wrote:

 And anyway, GDC is still hasn't been updated to the latest version of
 D.
 And its the last major D compiler that hasn't.
LDC is 2.067 already? O_O 'cause GDC is 2.066.1 now.
=20 Well according to GDC releases, it is still at 2.065. https://github.com/D-Programming-GDC/GDC/releases I was referring to full releases, not e.g. betas.
=20 what is that "full release"? those tarballs are just convient packs for those who don't know what to type after "git" command. 2.066.1 is officially landed in git HEAD some time ago, Iain just didn't wrote "whatsnew" for it (and Johannes wanted to land some ARM fixes). it's not "beta", at least not on x86. but is that release blah-blah really necessary to build the 2.066.1 version from official git?
oh. sorry if i was too aggressive, i didn't want to attack you. at least=20 not in D.learn. ;-)=
Feb 19 2015
parent Rikki Cattermole <alphaglosined gmail.com> writes:
On 20/02/2015 3:11 p.m., ketmar wrote:
 On Fri, 20 Feb 2015 02:08:19 +0000, ketmar wrote:

 On Fri, 20 Feb 2015 13:29:09 +1300, Rikki Cattermole wrote:

 On 20/02/2015 5:08 a.m., ketmar wrote:
 On Thu, 19 Feb 2015 22:10:11 +1300, Rikki Cattermole wrote:

 And anyway, GDC is still hasn't been updated to the latest version of
 D.
 And its the last major D compiler that hasn't.
LDC is 2.067 already? O_O 'cause GDC is 2.066.1 now.
Well according to GDC releases, it is still at 2.065. https://github.com/D-Programming-GDC/GDC/releases I was referring to full releases, not e.g. betas.
what is that "full release"? those tarballs are just convient packs for those who don't know what to type after "git" command. 2.066.1 is officially landed in git HEAD some time ago, Iain just didn't wrote "whatsnew" for it (and Johannes wanted to land some ARM fixes). it's not "beta", at least not on x86. but is that release blah-blah really necessary to build the 2.066.1 version from official git?
oh. sorry if i was too aggressive, i didn't want to attack you. at least not in D.learn. ;-)
There is also no tags for said versions. Or how about http://gdcproject.org/downloads
Feb 19 2015
prev sibling next sibling parent "bearophile" <bearophileHUGS lycos.com> writes:
Mayuresh Kathe:

 Should I choose DMD or go with GDC?
It's a good idea to use all available compilers. LDC and DMD are both useful. Every one of them has advantages and disadvantages. Bye, bearophile
Feb 19 2015
prev sibling next sibling parent "Dicebot" <public dicebot.lv> writes:
On Thursday, 19 February 2015 at 08:46:11 UTC, Mayuresh Kathe 
wrote:
 How do I (a newbie to D) figure out which compiler set to use?
 I am running Ubuntu 14.10, and intend to stick with it in the 
 long term.
 Should I choose DMD or go with GDC?
 I would like to know the rationale for suggestions for either.

 Thanks.
GDC: + generates faster code + supports many of low-level GCC flags for code generation tuning + more platforms (ARM, MIPS) - slow compilation - updates to latest language version with considerable delay DMD: + very fast edit/compile cycle + reference compiler - ancient code generation backend - not many ways to affect generated code (outside of -O -inline) It is common to use DMD for development and GDC for building actual release binaries.
Feb 19 2015
prev sibling parent "Sebastien Alaiwan" <ace17 free.fr> writes:
On Thursday, 19 February 2015 at 08:46:11 UTC, Mayuresh Kathe 
wrote:
 Should I choose DMD or go with GDC?
I work with projects whose code is half written in C, half written in D. I use GNU make to build them. I found out that using GDC was a much better choice for several reasons: - project portability 1: under Windows, dmd generates OMF object files that can't be linked by the gcc linker, while gdc generates COFF objet files. Which means: - I can use the same Makefile regardless of the target OS. - I can link mingw-compiled C code with D code. - I avoid the struggle of finding OMF versions of "SDL.lib", "advapi32.lib", etc. - project portability 2: stupid detail, but the weird dmd way of specifying the output file in the command line ( "dmd -ofmyfile.o" ) defeats the heuristics of MSYS2 path conversion. That's a dealbreaker for me. - when I'm running Debian/Ubuntu, the simple ability to natively run "apt-get install gdc" to install/upgrade is very practical. As dmd's compilation speed is blazingly fast, it remains a cool way of writing automation scripts (#!/bin/usr/env rdmd), much better, in my opinion, than Bash, or even Python.
Feb 19 2015