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.
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.