Two "standard" libraries???

David Wilson dw at botanicus.net
Sun Sep 16 15:48:24 PDT 2007


On 15/09/2007, Sean Kelly <sean at f4.ca> wrote:

> it's not really possible to use Tango and Phobos
> together in the same app at the moment.  If you'll forgive my hubris, I
> /do/ believe the Tango runtime is better than the Phobos runtime, but
> this basically means that I think it would be foolish to just toss out
> the Tango runtime and turn Tango into another user-level library.  And
> that's why we are where we are today :-)

I asked about this on IRC recently and didn't get a satisfying
response - beyond the extra functionality available in Phobos (which
is a great thing, of course), is there anything that really
substantiates the claim to "better" about the runtime part?
Specifically I noticed the GC had the Digital Mars copyright notice,
and on asking you about this, you told me that the two GCs were
(paraphrasing) "essentially the same". In that case, what is left in
the Tango runtime that is "better" that justifies it being more than
just a really complete class library?

As a very-newcomer to D, the Tango/Phobos choice was the first and
most bitter lemon I have had to chew on yet, and I'm still not sure I
really understand the differences. It seems to me with D's language
features (e.g. alias), one or the other could very easily be melded
into shape for perfect compatibility with the other, given that both
codebases will have very similar semantics given their shared
ancestry.

I understand that Phobos is a very slowly evolving library, but in the
face of the community's desire to scale D to a world-class programming
language, that can only be a good thing. At the very least to compete
in an environment like that, Tango would need much stricter change
controls (say, a committee) to ensure changes weren't being made "on
whim" and actually had some community benefit.

Finally I have a stylistic issue regarding Tango: despite its
relatively small size, the package nesting is already sufficient to
confuse me; I find it difficult to delve in and find what I'm looking
for. The disparity and feeling of seeming emptiness that Phobos gives
may be uncomfortable at first, but when you realize there is no
superhierarchy of classes and packages, and nearly any module in it is
self contained, it suddenly becomes a much friendlier environment.

I recently invested a number of months in learning C# - the language
took all of a few days to pick up, but the .NET BCL (much like the C++
STL) is one abstract, self-referencial beast that I simply never
expect to master. Compared with that, my week-long experience with
Phobos has got me to the point where I know where almost everything I
need on a daily basis is already.

Just a newcomer's $.2.

Thanks to Digital Mars for a wonderful language, and the Tango team
for healthy competition!


David.

>
>
> Sean
>



More information about the Digitalmars-d mailing list