A possible future purpose for D1 [rant]

Fawzi Mohamed fawzi at gmx.ch
Mon Mar 1 15:39:06 PST 2010


On 27-feb-10, at 15:49, Lutger wrote:

> D1 has but one major advantage over D2: it is much more mature. I think D1
> has a future as long as that is the case, or as long as there is a large
> enough body of code depending on it. Assuming Walter Bright keeps supporting
> it of course (as he has).

Well that was my idea too, but lately I am wondering if it is really the case.
I am coming from a big rewrite of my correct code to work around compiler bugs.

Since 1.047 there were almost 10 releases, and no one of them was able 
to compile my (correct) code due to one regression or the another.
As so many versions passed by these regressions were also picked up by 
ldc, and so I had the choice of havin an older ldc based on a non 
released llvm and tango, or the new regressions.

Things like http://d.puremagic.com/issues/show_bug.cgi?id=3867 are very 
annoying and time consuming to find.
Also http://d.puremagic.com/issues/show_bug.cgi?id=3792 needs invasive changes.
Ldc has also aquired another bugs that forces one to prefix fields of 
some nested structs with this.

For http://d.puremagic.com/issues/show_bug.cgi?id=3803 I found no other 
way but to patch the compiler.
Looking at the D community it seems that almost all big user of the 
language have touched the compiler, or patched it at some point, this 
is something that I have resisted with as much as possible.
I don't want to work on the compiler, I spent already way too much time 
on blip and tango, which are just means to develop my programs, I don't 
want to start another time sink, and I should not have to.

Normally I try to code defensively, to avoid forward refs, to test 
well, and to rewrite my code in such a way that I avoid bugs if 
possible. And when a tricky part is done and works well I want to be 
able to forget about it.
This kind of regressions that need rewrites and are hard to debug make 
it difficult to do, and force me to have direct control of almost all 
the code, I cannot easily depend on external D libs, because I might 
need to hack them to use them with my compiler version.

Maybe I am painting the situation more dire than it is, but I sure got 
annoyed by it, and I hope that it will be rectified soon.
More than new language features D needs stable and efficient libraries, 
something that can come only if the compiler is stable enough, and at 
least for D1.0 that should be the case

Fawzi 




More information about the Digitalmars-d mailing list