February 08, 2008
Ameer Armaly wrote:
> If we can get a systemm for accepting submitions to Phobos going, what if we made Tango a sort of expansion pack on top of it? I.E. Phobos addresses all the basic stuff, and Tango ditches all its standard library-ish code and becomes the "extended library" if you will. The way I see it the standard library should be fairly comprehensive without going in to actual nitches; that ought to be left to whatever expansion pack we put together. Thoughts?

- Tango's low-level stuff is of higher quality than that of Phobos, everyone agrees.
- Most of the time, people are thinking mainly about string manipulation stuff and console IO. Tango's IO routines are much faster than those used in Phobos.

You want a Phobos-style wrapper around Tango. That's the best you could get.
February 08, 2008
On Fri, 08 Feb 2008 01:02:25 -0500, Christopher Wright wrote:

> Moritz Warning wrote:
>> On Thu, 07 Feb 2008 00:58:50 +0000, Moritz Warning wrote:
>> It's a pity that Phobos bugs/fixes doesn't get more attention from
>> the maintainers. :|
>> But it doesn't make Tango a more suitable library for that purpose.
> 
> Yes it does. Bugs inhibit the usability of a library, and everyone has
> to use the standard library. So a buggy library is a poor candidate for
> the standard library, especially when there's an alternative that's much
>   more reliable.

I know you are not really suggesting that Tango is bug-free ;-)

Leaving aside any usability aspect for now, the major problem with Phobos is the apparent difficulty in getting bug fixes and improvements incorporated into the source code.

I assume that Walter does not want Phobos to contain bugs, and that he actually wants people to use it, so therefore I assume that there must be some logistical reasons for the submissions not making into the release packages. If those logistical problems can be solved then there is every reason why Phobos should remain, in addition to the option of Tango.

Of course, it would even better if developers could use both libraries in the same application (without a Tangobos layer).

So Walter, how can we or anyone else help solve the logistics issues?

-- 
Derek
(skype: derek.j.parnell)
Melbourne, Australia
8/02/2008 5:06:07 PM
February 08, 2008
Dan wrote:
>> I don't have a quarrel with your chosen style of coding, however it sounds as though your reasons are because you do not want to learn a new style.
> 
> Well, not unless it's a noticeable improvement inside.  Since I can't really understand the algorithms at play, and they're both roughly the same "ratio of classes to real code", I see no advantages to it; just wasted time learning a new set of sequences of letters.
> 
>> This is fine too, but it is not a reason to prevent the switch of a standard library. Besides, after having talked with Kris, I believe, he says that the object/function ratio of Phobos vs Tango is about the same.
> 
> Prevent?  Why cause?

Please read the initial post of that thread. (oh and the vast amount of other threads about that topic, too, maybe) Thank you. :P

>> Lastly I don't think you should be offended. I love the C feeling of Phobos, I still have yet to really use Tango (reading the book now) 
> 
> I was mildly offended by someone saying that only "dead projects" use 
> Phobos; like "only cool kids consume our product".

It seems to me like most of the newer and still evolving projects seem to either support Tango or are based on Tango. Nothing to get offended by. Also, if that's not the case, Phobos projects must have some backlog demand in marketing strategies, eh? ;)
(Really no offense intended)

>> I've been around since '06. My statements where based on the trends I have observed. There are projects that are still developed under Phobos, but most of the highly active/highly used projects switch/support both.
> 
> Yeah, I tried once but ultimately realized I was creating two separate 
> programs from the same source to accomplish the exact same thing; and I
> found it unneccessarily(sp?) complicating.

What kind of program was that, if I may ask?

Kind regards,
Alex
February 08, 2008
There are currently several people working on Phobos, so it is far from abandoned. For example, last November saw a raft of major additions to it.

What I see as the goal for Phobos/Tango is for there to be a compatible core, so that users can mix/match what they need from either library.
February 08, 2008
On Fri, 08 Feb 2008 00:17:38 -0800, Walter Bright wrote:

> There are currently several people working on Phobos, so it is far from abandoned. For example, last November saw a raft of major additions to it.
> 
> What I see as the goal for Phobos/Tango is for there to be a compatible core, so that users can mix/match what they need from either library.

Excellent, and thank you.

What is the process for submitting changes now?

-- 
Derek Parnell
Melbourne, Australia
skype: derek.j.parnell
February 08, 2008
Robert Fraser wrote:
> Demanding hundreds of benchmarks is slightly unreasonable IMO; there are already some benchmarks (I doubt there will ever be hundreds) showing that Tango's IO is faster than Phobos's, and Phobos has adopted the Tango GC

It has? Boy that would make me happy, but I wasn't aware of it.

Could you post a source, please?

 --downs
February 08, 2008
downs:
> It has? Boy that would make me happy, but I wasn't aware of it. Could you post a source, please?

Regarding this topic: recently I have added a "xio" module to my d libs, for easy to use lazy I/O, it tries to avoid some bugs of the Phobos I/O (I have found 3 bugs, one simple bug can be seen if you try readline on a 20 MB line, it blows the stack) and to make it faster (in some common situations it's almost 3 times faster than Phobos). I may have to test its speed (at reading lines, for example) against Tango :-)

Bye,
bearophile
February 08, 2008
Walter Bright wrote:
> There are currently several people working on Phobos, so it is far from abandoned. For example, last November saw a raft of major additions to it.
> 
> What I see as the goal for Phobos/Tango is for there to be a compatible core, so that users can mix/match what they need from either library.

Thanks for your input on the matter!

I think that your response will be a bit disappointing to some, me included.  It doesn't really address those of us who have gone on record and stated that the current maintenance schedule of Phobos isn't sufficient.

Nor does it address the feeling many of us have of being unable to contribute to Phobos.

If last November saw major additions, why have patches to know bugs that were submitted prior to then remained ignored?

I think your idea on having a compatible core for Phobos and Tango is great, but how do we get there?
February 08, 2008
Tim Burrell wrote:
> Walter Bright wrote:
>> There are currently several people working on Phobos, so it is far from abandoned. For example, last November saw a raft of major additions to it.
>>
>> What I see as the goal for Phobos/Tango is for there to be a compatible core, so that users can mix/match what they need from either library.
> 
> Thanks for your input on the matter!
> 
> I think that your response will be a bit disappointing to some, me
> included.  It doesn't really address those of us who have gone on record
> and stated that the current maintenance schedule of Phobos isn't sufficient.
> 
> Nor does it address the feeling many of us have of being unable to
> contribute to Phobos.
> 
> If last November saw major additions, why have patches to know bugs that
> were submitted prior to then remained ignored?
> 
> I think your idea on having a compatible core for Phobos and Tango is
> great, but how do we get there?

I can only second that. Thank you for the comment, anyway!
February 08, 2008
Tim Burrell wrote:
> I think we'd all prefer to see Phobos improved technically, but it's
> just not happening.  And fact is, we have a dedicated team who have put
> together a quality library, that has a full implementation of Phobos
> built on top of it (which is also more efficient than Phobos).

It's happening, but very slowly. And there are some things that have been a step in the wrong direction (std.boxer could handle large structs, I think, but std.variant can't handle anything larger than a delegate).

Meanwhile, Tango isn't making many mistakes, and it's been correcting those it made. And those that Phobos made.