Is D right for me?

Daniel Gibson metalcaedes at gmail.com
Mon Oct 11 10:38:39 PDT 2010


Andrei Alexandrescu schrieb:
> 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

But parts of phobos are deprecated or will be deprecated and there still 
is no alternative for them.
That may prevent people from writing "real" projects in D2 (or D at all) 
- who wants to use classes that will be deprecated soon?
Sure, that old stuff will not be removed and can still be used, but I 
personally feel a bit uncomfortable with using deprecated code.

Cheers,
- Daniel


More information about the Digitalmars-d mailing list