I'm new to programming in D. What are the pros and cons of choosing either DMD (2.061) or GDC (4.6, 4.7 or 4.8, snapshot). And what GDC version should I pick? I've successfully built a recent snapshot of GCC-4.8 and GDC-4.8 and it compiles a hello world program.
Here are my thoughts on pros so far:
What about debugging support through GDB - does it differ between GDC and DMD?
Use DMD as it is the reference implementation and is most widely used. It is also the most up to date as new features and fixes are primarily released in DMD (but GDC and LDC are released not too long after DMD).
As a newcomer you should consider DMD first, until you find specifics, which you need but don't find in DMD, then you can consider using GDC or LDC. Or use them right away, as all compilers share a common frontend from DMD, so switching them should not be so problematic (except bugs which may not be the same in all of them).
All 3 compilers currently support 32-bit and 64-bit (alpha/beta?) on Windows and Posix platforms.
Some experimental initiative is taken to support ARM platforms by GDC and LDC.
GDC and LDC may have longer compile times compared to DMD which is lighting fast - making edit/compile/run cycle a a pleasure, while GDC and LDC generally compile faster code which makes them more suitable for release builds (of course app testing should be done on the release compiler)