On Saturday, 28 December 2019 at 10:41:56 UTC, Mike Parker wrote:
On Saturday, 28 December 2019 at 08:25:16 UTC, BoraxMan wrote:

The problem is that GDC is part of GCC now, and part of the Fedora installation I'm using. I take it then if I am to start a new project where I may end up providing binaries, I should eschew using the GDC compiler and use LDC instead? This kind of consideration is not an issue when using C or C++ (at least in Linux). By default the choice is correct.

If by "correct" you mean the latest and greatest in terms of language and library features, then that means DMD. GDC doesn't have the sort of manpower behind that gcc and g++ benefit from. As I understand it, the version that ships with GCC was further hampered by being locked in quite some time ago due to the GCC release cycle.

You have three D compilers to choose from. Use the one that meets your needs. They all can put out compatible binary output on any given platform.

What I mean by 'correct', is that despite the fact there are different C stdlibs out there overall, there is generally one which forms the core of a Linux install, and the same is true with other unices, as far as I can tell. For Linux, its glibc, regardless of whether I choose GCC or CLANG, the binary links to one libc, the same one. With D though, there is a libphobos for each compiler, so if a Linux distro for example was to start packaging D software, they would probably want to settle on a specific libphobos, which means me using a different compiler would mean the end user having to bring in a second libphobos on top of the one the distro was designed around. Then you have libraries which may also use libphobos, such as dlangui, which a program may link against.

The right compiler is the one which fits best in the "ecosystem" of my target audience, not the best for me personally.

Reply via email to