gdc in Linux distros recommended?
Jonathan M Davis via Digitalmars-d
digitalmars-d at puremagic.com
Tue Oct 18 16:50:06 PDT 2016
On Tuesday, October 18, 2016 16:02:28 Ali Çehreli via Digitalmars-d wrote:
> I have a friend who has started writing a library in D.
>
> Although I recommended that he should use a recent dmd or ldc, he thinks
> gdc is a better candidate because it's "available to the masses" through
> Linux distros similar to how gcc is. Although he has a good point, the
> gdc that came with his distro does not even support @nogc.
>
> Thoughts? Can you please tell him to change his mind! :p
I don't know what the whole situation is with gdc right now, but clearly,
they're seriously undermanned, because they're still at 2.066 and haven't
managed to move to a version of the front-end that's written in D. You
certainly _can_ use it, but I'd argue that it's way to old to even consider
it. dmd 2.066.1 was released two years ago this month. So, gdc is old enough
now that it's possible for a symbol in druntime or Phobos to have gone
through the entire deprecation cycle from start to finish between the time
that that version of druntime/Phobos was released and the upcoming release
of dmd. D is _way_ more stable than it used to be, but it still changes at
far too fast a pace for you not to have trouble if you're trying to use a
two year old compiler. And when you consider stuff like code.dlang.org, it
gets even worse, since a lot of that stuff works with only the most recent
release or two of dmd (certainly, most projects don't try and maintain
compatibility over more than that). So, if you insist on using gdc, you're
pretty much cutting yourself off from a large portion of the existing D
ecosystem.
I would love to see gdc finally get up-to-date and usable, but it's just way
to old. And it's downright trivial to install dmd, making concerns about
what's in your distro's repo kind of silly. With dmd, you can just take the
zip/tar.xz file, decompress it, and add the appropriate bin directory from
it to your PATH, and you're good to go. And there are packages for several
distros as well if you want to use your package manager to install it that
way (a few distros even have it in their repo). And I don't think that
installing LDC is much harder. And looking at their site, it looks like
several distros have LDC in their repos if you want to grab whatever version
they have rather than installing the latest manually. So, if you want an
alternative to dmd, LDC has been doing a good job of being up-to-date and is
quite available.
Honestly, until gdc is able to be at least _close_ to up-to-date, I don't
see any reason to use it. You're just causing yourself problems for no gain.
I very much hope that the gdc maintainers will get whatever help they need
and will finally be able to get gdc up-to-date one of these days soon, but
until then, I wouldn't mess with it. And honestly, I find the fact that
they're still stuck on 2.066.1 to be very concerning.
- Jonathan M Davis
More information about the Digitalmars-d
mailing list