Is D right for me?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sun Oct 10 21:26:28 PDT 2010


On 10/10/10 20:59 CDT, Jonathan M Davis wrote:
> On Sunday 10 October 2010 17:27:55 Daniel Gibson wrote:
>> bioinfornatics schrieb:
>>> LDC support 64 bit ;)
>>
>> as well as GDC.
>>
>> But both currently lack an up-to-date D2 compiler (but the GDC guys are
>> at least working on it, seems like they're currently at 2.029 - which is
>> great - about 3 months ago they were still at 2.018 and in between was
>> the big 2.020 update that introduced druntime).
>>
>> I agree with walter that 64bit support in DMD is very important,
>> especially for D2: I started a project a few months ago that might have
>> benefited from D2s features (especially ranges), but I decided to use D1
>> because no 64bit compiler for D2 was in sight.
>>
>> I am btw a bit worried about "upgrading" code from D1 to D2 some day
>> because of the heavy (still ongoing) changes, especially in phobos.
>> I read that for example std.stream is going to be deprecated and
>> replaced by either something with ranges or something like std.stdio
>> (whoever was right about that, maybe even both?). This means that all my
>> (file/network) IO-Code would have to be rewritten sooner or later..
>> But, currently lacking an alternative to std.stream/std.socketstream for
>> networking, I would have had the same problems even if I had started the
>> project with D2...
>
> A stream solution is in the works (it's discussed periodically on the Phobos
> list), but they haven't sorted out quite what they want to do with it yet. The
> Phobos API in general is in flux, though pieces of it are likely to stay more or
> less unchanged from what they currently are. But there's far from any kind of
> guarantee that much of anything from the D1 Phobos is going to survive in the D2
> Phobos. They're looking to make Phobos as good as they can, and they aren't yet
> worried about keeping its API stable (though they don't make changes unless they
> think that it's actually benificial, so things don't change willy-nilly). I'm
> sure that the time will come, however, when Phobos' API will stabilize, and
> projects will be able to rely on it staying the same.
>
> I think that the reality of the matter is that porting D1 code to D2 code is
> going to be just like, if not exactly like, porting code from one library to
> another rather than an upgrade like you'd get between Qt3 and Qt4 (which had
> plenty of changes). I'm sure that the split between D1 and D2 is going to cause
> a lot of problems for people looking to port code from one to the other, but it
> will be better for newly written code, so it's a definite tradeoff. I wouldn't
> look forward to porting a project from D1 to D2 though.

I think it's a bit hasty to speak on behalf of all of Phobos' 
participants. Phobos 2 is indeed different from Phobos 1 but 
backward-incompatible changes to Phobos 2 are increasingly rare.

Andrei


More information about the Digitalmars-d mailing list