Monster - a game programming language

Jarrett Billingsley kb3ctd2 at yahoo.com
Sun Sep 9 08:57:10 PDT 2007


"Nicolay Korslund" <korslund at gmail.com> wrote in message 
news:fbuhuc$mha$1 at digitalmars.com...
> To be honest I haven't look much into Tango yet, and haven't quite 
> understood what the benefits are compared to Phobos. Is it possible to 
> support both or do you have to choose?

Benefits: actively being worked on by a group of people who use D and 
development is open to anyone, vs. Phobos, which is worked on by the same 
guy who writes the D compiler and D spec and who doesn't really use D very 
much.  Provides a lot of useful functionality which is only half-heartedly 
implemented or not at all present in Phobos.  Most of the library is 
designed to avoid heap allocations wherever possible, especially in the IO, 
which was designed for server use, making it _much_ faster than Phobos in 
many cases.

Cons: it's not the default, and it's not completely done (though virtually 
anything Phobos can do Tango can do too, it's just some new features that 
are still being added, and of course bugs that are being fixed).

Supporting both Phobos and Tango is.. difficult at best, an absolute mess at 
worst.  There are some places where the two libraries don't really match up 
at all, i.e. their IO philosophies, so writing code which does the same IO 
stuff regardless of the standard library is very tricky.  It can be done, 
though.

There is a way to "support" both by using Tango and Tangobos.  This is by no 
means a permanent solution, however, as Tangobos is mostly there to act as a 
bridge between Tango and Phobos when there is no other option.  Tangobos 
Basically it's Phobos, but it's been slightly modified to use the Tango 
runtime, so you can compile code that depends on both Tango and Phobos in 
the same program. 





More information about the Digitalmars-d-announce mailing list