obsolete D libraries/modules

H. S. Teoh hsteoh at quickfur.ath.cx
Thu Aug 29 12:17:21 PDT 2013


On Thu, Aug 29, 2013 at 08:50:46PM +0200, Ramon wrote:
> On Thursday, 29 August 2013 at 07:02:40 UTC, Jacob Carlborg wrote:
> >Well, dsource.org is dead. The projects are basically there for
> >reference only. Most project these days are at Github. I guess
> >there isn't an obvious way to find all of them though.
> 
> Thanks for that information an for - even better - pointing me to
> something alive.
> I'll come back on that later in a more general way.

I wonder if we should post a notice on dlang.org to the effect that
dsource.org is dead, and that people shouldn't rely on it. Right now,
having no way to actually update that site to add a notice to this
effect, the first thing people are going to do when they discover D is
to hit the search engines and dsource.org is inevitably going to turn
up. Then it's anyone's guess whether the net effect will be positive or
negative -- I'm guessing negative, a bad first impression of D that it
has lots of promising but dead projects.


[...]
> But there is a (possibly very small) but, too: Tango.
> 
> Maybe I'm simply mistaken but my impression so far is: There once
> were 2 rt libraries, phobos and tango and (for whatever reason, no
> judgement implied) phobos won and today with D2 it's D + phobos,
> period.
[...]

This is a dark part of D's history that people don't really like to talk
about... but as I understand it (I wasn't around at the time), the story
went something like this: back in the days of D1, the original version
of Phobos sucked because Andrei hasn't come on board yet, so the D
community, out of dissatisfaction with the state of Phobos at that time,
revolted and wrote their own standard library called Tango. This was a
problem, because back then, Phobos and druntime were one and the same
thing, so Tango had to provide its own D runtime.  This meant that
programs compiled with Phobos can't be linked with programs compiled
with Tango, and vice versa, since their respective runtimes would
conflict. As a result, half of all D code was specific to Tango and the
other half was specific to Phobos. One striking example was the
concurrent incremental GC implemented for Tango: it was a superior GC
(at the time) but only Tango users could reap the benefit. Things like
this caused an unpleasant schism in the D community.

Anyway, long story short, eventually the decision was made to move to
D2, and by then, Andrei had come on board, and he made Phobos awesome
(or so I heard). Druntime was separated out from Phobos so that
alternative standard libraries like Tango could be supported while still
allowing interoperatibility between code compiled with either library.
Phobos became better and better, and eventually gained the support of
the majority of D users. Tango isn't dead, though; the D2 port of Tango
is alive and well, and available if you wish to use it instead of
Phobos. But I'd say that the current recommendation for newcomers is to
use Phobos, since Phobos idioms and conventions are quickly becoming
synonymous with "the D way" nowadays.


T

-- 
Ruby is essentially Perl minus Wall.


More information about the Digitalmars-d mailing list