Compiler quality

A recurring complaint against D, is the quality of the compilers. Currently there are two in a usable state - DMD and GDC, with LLVMDC, Dil and Dang as follow ups.

This post is about the first two, as I don't consider a D compiler usable until it can compile Tango and its examples.

DMD is quite stable, especially its 1.0x branch - but the most annoying bugs - those that it is hardest to find workarounds for - tend to have a low priority. The reasoning seems mostly to be that the fruits are hanging to high. Also, it does have fairly unstable optimization - while developing Tango XML, just moving a function in the source could improve throughput with 20 MB/s.

GDC is quite stable on X86 based platforms, and works with some luck on PPC and X86-64. However, bug fixing has been excruciating slow in the last 6 months, and the last release was back in August 2007. This leads to us having to recommend compiling GDC from SVN in many situations.

Since quite a few bugs that get reported as Tango tickets really are bugs in the compilers, I started to mantain a list of those on a page the Tango wiki - both to make these issues more visible, and to keep track of what needs fixing whenever those bugs are fixed in the compilers.

On a positive note, though, David has made several commits/bugfixes the last few days - maybe we even can expect a new release soon. Heres to hope!