incompatible types!
Jonathan M Davis
jmdavisProg at gmx.com
Tue Apr 5 19:02:23 PDT 2011
> On Tue, 05 Apr 2011 19:37:15 -0400, Caligo <iteronvexor at gmail.com> wrote:
> > It's just frustrating, that's all. Writing thousands of lines of code
> > and having everything stop because of a compiler bug is just
> > frustrating.
>
> I completely understand. It's why I have to periodically stop using D.
> Dcollections sat idle for over a year while I waited for a compiler bug to
> be fixed.
>
> > I know progress is being made, and all that is appreciated. But, I
> > don't remember ever hearing anything about D2 being in beta. If
> > anything, I remember months ago where D2 was recommended for new
> > projects. So, now I'm not sure what I'm supposed to do. Start all
> > over again from scratch? I really like my design, so I guess I'll
> > have to wait till it gets fixed.
>
> Sorry you got that impression. The fact is, as long as you are using the
> non-broken features, D2 is pretty useful, even downright awesome :) The
> issue is, if you hit one of those broken ones. Unfortunately, the release
> of TDPL didn't make all those features magically appear fully
> implemented. So since TDPL is promoted as the offical language spec, D2
> suddenly jumped way back in the release cycle, since many of its
> unimplemented/not-fully-implemented features became "official".
>
> I'd highly recommend *NOT* to use D2 for new projects unless you are
> willing to redesign your code to work around those issues, or wait for
> them to be fixed. I truly wish this wasn't the case, but I don't see how
> anyone can confidently recommend D2 for professional or non-toy projects.
> This may sound like an anti-endorsement, but I assure you it is not. I
> think D2 is going to be absolutely killer when it's finished. I just
> would not use it for professional development *right now*, where deadlines
> and budgets are under consideration. If you can afford to put it down
> when it breaks and wait for a fix, then I think it will be worth the wait.
IIRC, Adam Ruppe uses D2 for professional development, and he discusses it
from time to time on the main d newsgroup, but he specifically avoids some of
the newer features. He rarely runs into problems with compiler.
On the other hand, folks who consistently try and use the newer features in
their code - especially when they try and mix them - run into problems all too
frequently. I ran into a number of major issues while creating std.datetime. A
number of them have been fixed now. Others remain unfixed and still affect
affect std.datetime to some degree (e.g. it's impossible to create an
immutable SysTime). But std.datetime uses some of the newer features quite
heavily (though alias this isn't one of them).
So, if you restrict what you do with D2 to an older subset of the language,
you're likely to be fine. But if you try and use a lot of the newer features,
you _will_ run into bugs. And alias this is definitely one of the areas with
problems.
Personally, I only use D2 for my personal stuff, but as much as I'd like to
use it at work, I wouldn't even attempt to yet. The language is stabilizing,
and the compiler and libraries are definitely improving, but if you expect
rock-solid stability, you're going to be dissapointed. We're getting there,
but we're not there yet.
- Jonathan M Davis
More information about the Digitalmars-d-learn
mailing list