On Wednesday, 1 November 2017 at 18:59:21 UTC, Adam D. Ruppe wrote:

Windows 32 bit is the special one - it is the ONLY platform where D works out of the box without additional downloads. That's one reason why I advocate it for just playing around - it just works.

On ALL other platforms for dmd: Win64, Linux 32/64, Mac, freebsd, you require additional downloads from the OS vendor to build your program.

The only difference is size of the download from the OS vendor, and odds that it was already installed by something else. But it is the same idea - you use the OS vendor's linker and system libs to facilitate interoperability with other language code.

DMD with the default -m32 is great for just playing around. No Windows D user would deny it. I compile with that far more than with -m64 (or any LDC for that matter). It's only really when you need -m64 (or -m32mscoff for that matter), and I mean really need it, that one needs to bother with Visual Studio. Perhaps that's part of the frustration. Things are so easy with the default and so frustrating when you have to make the change. For me, that point comes when trying to call C libraries in D. Downloading Visual Studio and installing it is a one-time cost, but getting C libraries working with D is something I don't do enough to remember the tricks. If the C library is compiled with Visual Studio, then you have to use the VS linker. But it usually will be something MinGW or Cygwin. From there, you might have some series of steps that I would never remember and always need to google to get it working. That's the frustrating part. Installing Visual Studio is annoying, but not really a huge deal for me in the grand scheme of things.

Reply via email to