questions on PhanTango 'merger' (was Merging Tangobos into Tango) - long-term vision
Kris
foo at bar.com
Wed Oct 10 19:56:35 PDT 2007
"Marcin Kuszczak" <aarti_nospam at please_interia.pl> wrote in message
news:fejdk1$pvv$1 at digitalmars.com...
> Kris wrote:
>
>
>> And that's where the misconception comes in. The benefits in the high
>> level of Tango are often based upon the capabilities in the "lower"
>> levels. Which is why the earlier question had been posed about Tango I/O.
>> You don't get Tango without the I/O package, because that is one of the
>> definitive differences between the two libraries. In short, there's
>> nothing in Phobos that Tango would benefit from. When it comes to I/O,
>> for
>> example, Tango seriously outperforms every other library we've bothered
>> to
>> test. When it comes to string processing, the same is true. This is due
>> to
>> the design of Tango.
>>
>
> I don't want to drop Tango IO. :-)
>
> Probably I express myself not enough clear with my idea. It would be great
> if you could comment on my replay to Larsivi:
>
> http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=59960
>
> Thanks!
Sure; the quick and easy answer it this: Tango is also a better /low-level/
library than Phobos. Really, it is :) If you want to get a thin library up
and running on a cell phone or whatever, Tango would totally be the right
choice. Why? Because the team went to great effort to make the library (a)
decoupled and (b) layered. Not only is the so-called Runtime isolated and
is even packaged separately, but the middle and upper layers have limited
interdependencies amongst them.
It's not Utopia, since there are always tradeoffs to make. For example, the
Tango logging package was previously distinct from the string formatting
package, so you didn't pay the price of the dependency unless *you* wanted
it. Well, recently, that changed because the benefit of coupling the two
outweighed the isolation benefit. That's a fair example of a trade-off that
was somewhat on the fence to begin with, and finally decided which side it
wanted to be on :)
Elsewhere we use a small set of interfaces to decouple the implementation of
modules, such that (a) implementation can be plugged in and (b) the
implementation modules themselves do not import each other; and are fully
decoupled. Altogether, this makes Tango a very good choice as a
mobile/modular library to target any kind of environment ... it was
/designed/ as such from the beginning, and enjoyed a reasonably long
gestation period to explore the various tradeoffs. What's missing from
Tango, I understand, is something that's more familiar for those who prefer
a free-function model? If so, then I think those folks will find incremental
changes in Tango that are moving in that direction. In addition, I promised
some folk at the D conference that model would be exposed somehow ... so it
is, and will continue to happen :)
This is what prompted the earlier question: "what pieces of phobos would
folks really like to see in Tango?". Or rephrased, What is it /about/ parts
of phobos that some people prefer? I'm getting a good indication that
certainly some people prefer the free-function aspect? I'd really like to
hear more about that, particularly some specifics :)
I'm asking these questions because nobody has answered the questions posed
in the origin of this thread. So instead, this is an exploration of a
potentially different approach to a merge.
What sayeth thou?
More information about the Digitalmars-d
mailing list