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)

Reply via email to