questions on PhanTango 'merger' (was Merging Tangobos into Tango) - long-term vision

Aarti_pl aarti at interia.pl
Wed Oct 10 03:09:50 PDT 2007


Don Clugston pisze:
> Seems to me, that there are actually TWO phobos-es (phobi ?).
> There's "core phobos", (std.file, etc) which has the basic i/o.
> There's also "complete phobos" which includes some disorganised stuff 
> which has far more limited appeal (std.openrj, std.base64, std.uri, etc).
> Seems to me that when people talk about phobos-vs-tango, it's core 
> phobos which has the biggest appeal, and the extended phobos which is 
> most disliked.
> Could phobos be trimmed down to this core set?
> (Make the extended phobos be available as a separate download, or at 
> least clearly distinguished?)


I was thinking about something similar also...

Having in mind that there will be (unfortunately long) process of 
allowing Phobos & Tango coexist together I was thinking about 
positioning both libraries in a D landscape.

---

As I see there is demand among people for two kind of libraries:

- library for lower level stuff, which should be fast, simple, small, 
easy to learn and use. Possible applications: embedded devices, quick 
hacks, scripting, game's engines, kernel programming etc.

- library for higher level stuff, which gives flexibility, encapsulation 
and easy way to work in big teams. Possible applications: desktop 
programs, advanced networking, distributed computing etc.

---

That said, I see good place for both libraries here Phobos and Tango:
- Phobos should do lower level stuff. Functionalities in Phobos which 
belongs to second group should be dropped from it.
- Tango should do higher level stuff. Functionalities in Tango which 
belongs to first group should be dropped from it.

There will be also probably few areas where functionality will be 
duplicated (e.g. writef() vc. Cout()), but I don't think it will be a 
problem for anyone.

---

In such a scenario Tango could be also delivered packaged with compiler, 
but it would be not necessary to use it for writing simple applications 
(no code in Phobos calls Tango). When someone needs higher level 
functionality she can use Tango. When using Tango, probably Phobos will 
be necessary also (Tango libraries can call Phobos).

To sum up:
1. Runtime (from Tango) - one library
2. Lower level stuff Phobos - second library
3. Higher level stuff Tango - third library

Everything mentioned above packed with compiler in easily installable 
packages for Windows/Linux/MacOs. :-)

Best Regards
Marcin Kuszczak
(aarti_pl - www.zapytajmnie.com)



More information about the Digitalmars-d mailing list