On 11/9/10 1:42 AM, Jacob Carlborg wrote:
On 2010-11-08 20:55, Andrei Alexandrescu wrote:
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). 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.

Here's the problem with that: since Sean basically forked the Tango
runtime, removed any non DMD specific code and any code for a platform
that DMD doesn't support. And stopped contributing to Tango while others
improved the Tango runtime we're back at square one with two
incompatiable runtimes and the Tango runtime still seems to be better.

It's not difficult to offer e.g. an incompatible C runtime that is slightly better than the standard one. People generally don't do that but instead add libraries on top of that because they understand the advantages of compatibility.

I wouldn't be surprised if Tango chose to turn away from compatibility for the second time (be it theoretical compatibility for now since there is no Tango for D2). The technical reasons are dwindling and became tenuous to argue for, but however weak they are, they could be used to promote a political motivation: a Tango/D2 offering would come again as an either-or proposition for a standard library that precludes usage of Tango2 and Phobos2 together. In my opinion that would be an extremely dangerous gambit.

For this to work the Tango team and the druntime
contributors/maintainers have collaborate and work together on a runtime.

That runtime is druntime. If there is no understanding of that at Tango, that is suicide.

[snip]
The insufficient implementation of new features propagates the
perception that D2 is unstable, although the more conventional, D1-like
subset of D2 is as solid in both languages. But then the perception is
justified, because one would want to use D2 primarily for its new,
unique offerings. A longer term perception problem is that some might
think the _design_ of such features has unsolvable issues, which hurts
the image of the language. I know of no major design flaws, but that is
only an academic argument in wake of perennial implementation
insufficiencies.

There are still things in D1 that are not solid, just look at the bugs
and newsgroups posts by bearophile. The module/import system, for example.

Which ones? There are more than a few :o).


Andrei

Reply via email to