The Death of D. (Was Tango vs Phobos)

Sean Kelly sean at invisibleduck.org
Mon Aug 25 11:16:21 PDT 2008


Brian Price wrote:
> My take on the Tango vs Phobos situation is:
> 
> For production use the only real choice is D1 (D2 being alpha) and it looks like
> there are going to be so many changes in the language that going from a D1 app to
> a D2 app is going to require more than a bit of work and thought.

It's also worth mentioning that whatever is decided, no changes are 
likely to occur with D1 / Phobos1 because that version of D is frozen. 
So from a practical standpoint I think Tango and Tangobos will continue 
to be the preferred approach for development under D1.

> So, restricting the answer to D1, Tango seems to be a more full featured , robust,
> and maintained library than Phobos.  I'd expect that to change in D2 and expect
> the natural choice there will be Phobos (barring a ton of work by the Tango crew).

Pretty much.  Though having some sort of shared runtime /may/ affect how 
some of the features in tango.core are exposed.  I would obviously 
prefer if Phobos just built on top of Tango as with the Tango / Tangobos 
solution for D1, but that doesn't seem likely to happen.

> Regardless of the choice of library for use with D1, moving to D2 with either
> library looks like a chore since Phobos seems to be undergoing some (much needed)
> significant changes from D1 to D2 versions.

Yup.

> As to the larger topic, D is potentially caught on the horns of a dilemma: D1 is
> not a significant enough advance on current languages to justify a move even if
> there were no library concerns; D2 may well be enough of a step forward to justify
> a move but there is the issue of timing.  My take is that if the upcoming C++
> standard makes it into compilers used in common production before D2 is ready for
> prime time that D may never gain a real foothold in mainstream use.  I'm hoping
> that the D2 team sets a deadline and leaves some things for a future D3 rather
> than miss the window of opportunity.

In my opinion, the benefits of D1 over comparable mainstream languages 
are quite substantial but difficult to quantify.  The elegance of the 
language tends to produce vastly more maintainable code than C++, for 
example, which is a huge win for team development.

As far as D2 is concerned, I think it's really too early to say.  My 
current opinion is that the feature additions in D2 impact the syntax in 
such a way that they eliminate much of the advantage of D1--stemming 
from elegance and simplicity--in exchange for largely theoretical 
benefits.  But D2 is still in development so who knows.


Sean



More information about the Digitalmars-d mailing list