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