why a part of D community do not want go to D2 ?

Daniel Gibson metalcaedes at gmail.com
Mon Nov 8 13:47:03 PST 2010


Andrei Alexandrescu schrieb:
> On 11/7/10 6:33 AM, bioinfornatics wrote:
>> So D community will be split in 2. And D1 continue to evolve without
>> D2 community, D1 frontend is open source and he coulb be used for
>> improve and fix D1
> 
> The current situation and the dynamics are quite interesting, and I am
> looking forward to witnessing how things will unfold.
> 
> There is a community for which D1's offering is just fine. They've used
> D1 long enough to use it idiomatically and to derive better enjoyment
> than from the likes of Java or C++. The gain in power, albeit marginal,
> is present. 

You gain a lot of power by using D1 instead of Java/C++: Usable Templates with 
static if, slices, a GC, unsigned types, ..

> The fact that the
> implementation of the newest features is incomplete fuels arguments
> against D2. The immaturity of alternative back-ends (gdc, llvm for D2
> are both quite young) contributes to the perception that D2 does not
> offer a net advantage when compared with D1.

It's also the (at least felt) immaturity of DMD for D2, I guess. You read about 
problems in the NG all the time.
And the lack of 64bit support, of course (this will soon change, of course).

> 
> It is my perception (though I might be wrong) that the dichotomy has
> become to some extent political. D2 offers little political incentive to
> a Tango port. Tango is currently the de facto standard library for D1 as
> the vast majority of D1 users use D1 and Tango in conjunction, which
> precludes use of the underpowered Phobos1 (D1's de jure standard
> library). 

Many parts of Phobos2 are the same as Phobos1 and thus are still underpowered 
(e.g. networking and streams).

> Due to Sean's work on making druntime independently available,
> porting to D2 would lower Tango's status from the standard library to
> one of the libraries that may be used in conjunction with Phobos2.
> 

A port of Tango for D2 would be really helpful, because Phobos2, like Phobos1, 
is no fun to use..
A few months ago I started a D1 project and used Phobos, so porting my project 
to D2 in the future would be easier.
If a Tango2 would have been in the works I might have used Tango. Then I 
wouldn't have needed to clone phobos classes (Socket, Address (from socket), 
SocketStream and I also wrote a BufferedSocket because I didn't trust 
BufferedStream) in my own code to fix them.. (see bugreports: [1])


So I think it's not just political reasons (Tango fanboys) why people use D1, 
but also that D2's standard library isn't finished yet so, if you want to start 
a halfway serious project, you either use Tango or prepare to copy and fix 
Phobos :-/
Furthermore library-support for D1 is better (all that stuff at dsource for 
example).
Also compilers are an issue, of course, because the D2 support of alternative 
(free, 64bit capable, ...) compilers is not up to date..
Or rather *was* not up to date: Iain just brought GDC to version 2.047, so I 
guess that GDC will really soon be on par with DMD, version-wise.
Then some more testing and fixing and there will be a free (as in freedom), 
usable (as in relatively bugfree) up-to-date D2 compiler that supports a 
plethora of platforms \o/

Also people seem to work on LDC2 again.

Cheers,
- Daniel

[1] http://d.puremagic.com/issues/show_bug.cgi?id=4234 (std.socket issues)
     http://d.puremagic.com/issues/show_bug.cgi?id=5177 (std.socketstream issues)


More information about the Digitalmars-d mailing list