Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

DMD vs. GDC vs. LDC

What are the Pros/Cons of the different D Compilers? How is the performance and the standard compliance/D2 support? How well are debuggers supported? How good are the Error messages and is the IDE integration? How good is the 64 bit support? My thought so far:

DMD

  • Mature and well maintained
  • Only one platform, 64 bit support is not good
  • Not FOSS

GDC

  • Supports various platforms
  • Has very mature optimizations, so it's fast?
  • Out of date runtime?
  • GCC so a good debugger support?

LDC

  • Supports various platforms
  • LLVM, so it supports JITing?
  • Has very mature optimizations, so it's fast?
  • Not very well maintained?
  • Out of date runtime?

dead/not working

  • dang
  • sdc
  • MiniD - very, very nice, but not D (never claimed to be, though)

I'm thinking about targeting ARM and i think GDC is the tool of choice, but I'm not sure.

like image 513
Fritz Avatar asked Jul 20 '11 19:07

Fritz


1 Answers

DMD is the reference implementation, the backend and frontend are open source. The code generation quality is not that overwhelming.

GDC and LDC are both based on the DMD frontend so it might take some time until a new version of the frontend is merged in.
Since the backends they use are very mature and good the quality of these compilers mainly depends on the glue code which connects frontend and backend.

LDC and GDC are still developed actively, but mainly by just a few guys.
All in all they could use some manpower.

like image 85
Trass3r Avatar answered Sep 18 '22 15:09

Trass3r