February 06, 2008 Re: Standard Library Concerns (Phobos / Tango) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tim Burrell | You always know there's a topic on either const or the standard libraries when the newreader reports 40+ new posts in a day :-). |
February 06, 2008 Re: Standard Library Concerns (Phobos / Tango) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tomas Lindquist Olsen | Tomas Lindquist Olsen wrote:
> D1/Phobos1 needs to be taken out of Walters hands. He doesn't care about it, even though it's the version of D with the largest userbase. If he cared he would reply to this thread as well as the countless others before it (on the same topic).
That reminds me of the whole "George Bush doesn't care about black people" thing.
I'm sure Walter cares a lot, and not only that, I think he reads most of the newsgroup posts. He replies when he has something interesting, and likely non-inflammatory to say.
DMD 1.x should remain *very* stable, so only bugfixes should appear there, which Walter has continually provided. As far as Phobos 1.x is concerned, I think some *NON-BREAKING* additions would be nice, but I generally think, besides bugfixes, stability is more important in that branch.
My requirement (in case anyone cares): If I write an application with D 1.x/ Phobos 1.x today, I want it compiling without change in 2 years.
|
February 06, 2008 Re: Standard Library Concerns (Phobos / Tango) | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | "bearophile" <bearophileHUGS@lycos.com> wrote in message news:focsqq$10c4$1@digitalmars.com... > I mean some of the current structure of Tango my be changed a bit, before adopting it as the std lib. I think this too is a worthy discussion topic. khm :) http://www.digitalmars.com/d/2.0/phobos/std_bitmanip.html |
February 06, 2008 Re: Standard Library Concerns (Phobos / Tango) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Robert Fraser | Robert Fraser wrote:
> DMD 1.x should remain *very* stable, so only bugfixes should appear there, which Walter has continually provided. As far as Phobos 1.x is concerned, I think some *NON-BREAKING* additions would be nice, but I generally think, besides bugfixes, stability is more important in that branch.
>
> My requirement (in case anyone cares): If I write an application with D 1.x/ Phobos 1.x today, I want it compiling without change in 2 years.
Personally, I'm looking to the future. D is in a great position because it's a new language, and it's starting to pique a lot of interest. The next few years are probably a bit of a crucial time for it. Especially because when D2 is released it'll _already_ be breaking backwards compatibility, so there's no issue there.
No one's talking about pulling Phobos and your D1 written Phobos apps out from under you.
But even so, what we should be doing is figuring out what's best for the language as a whole, and not what's best for the code we've already written. It's easy to keep a copy of Phobos 1.x around or, as others have suggested, ensure there's a compatibility layer available for legacy applications.
The problem is really that while, yes, Walter has provided bug fixes, he hasn't gone the distance in opening up Phobos to other contributors. There are patch submissions that would fix critical bugs that are months and months old (there's even a good example on the NG today from Downs).
Phobos development isn't keeping up with demand. Many people are frustrated at long standing bugs in Phobos. Now look at the situation, we've got two standard libraries, where MOST of the D community is opting for a library OTHER THAN the alternative!
It's not a healthy state of affairs!
Phobos will _never_ be able to keep up with Tango in terms of reliability, quality, etc, simply because Phobos isn't really open. Even just on a pure man hours scale -- Walter can't do it all, nor should he have to. He's designed a really great language, but I think it's time to pass the torch on the standard library.
There are plenty of people who prefer Phobos but agree that Tango is technically superior. The fact that there's already a compatibility layer available makes the legacy code argument that much more moot.
You can have your cake and eat it too! Everything's basically already in place! A new standard library that is open, well maintained, and that has Phobos compatibility available.
I fully agree 1.x should remain stable, but I also think 2 should drop Phobos. It may be in active development now, but the cycle will just continue! Now is the perfect time to sort all this stuff out!
|
February 06, 2008 Re: Standard Library Concerns (Phobos / Tango) | ||||
---|---|---|---|---|
| ||||
Posted in reply to dominik | dominik:
> khm :) http://www.digitalmars.com/d/2.0/phobos/std_bitmanip.html
Can you explain me what you mean? I can't read your mind...
[Regarding that module, I think it's better than not having an automatic way of managing bitfields at all (It's not much different from the module I have improved a bit starting from the code given by another person. I think Walter has to write a thank you to that person at the bottom of that std_bitmanip page). But if you write two 15 lines long benchmarks to compare the speed of that bitfield management to how GCC 3.x manages bitfields, you may find it's 2 or more times slower.]
Bye,
bearophile
|
February 06, 2008 Re: Standard Library Concerns (Phobos / Tango) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tim Burrell | On Wed, 06 Feb 2008 10:49:17 -0400, Tim Burrell wrote: > Hey all, > > It seems that even though Phobos is open source, it's difficult for people to contribute to. Patch submissions aren't being accepted as readily as they should be, and bugs remain even months after having a fix submitted by users. Yes, this has been a long standing issue with Phobos development. > Not to mention that it's confusing for new users to have to deal with two standard libraries. I think it would be a really good thing for the language as a whole if there were only one standard library. Yes, of course. > My personal opinion is that Walter should let go of Phobos and adopt Tango as the official standard library. I know there are people out there that prefer the Phobos API over Tango's, but I have a feeling that if Walter asked the Tango people to maintain the Tangobos base as the official standard library for D they would be okay with that. I have not been 'converted' to the Tango style of coding as I still prefer the old-fashioned Phobos style, but that is just a discipline issue. I would happily use Tango if it were the One True (tm) standard D library, however, at least for D1 users and for existing Phobos apps, we would need a Tangobos for a while too. The main issues for me is that whatever standard library is in place, that it is maintained in a timely manner (including documentation) and contains the functionality that I need to use. Phobos has yet to achieve this for me. -- Derek (skype: derek.j.parnell) Melbourne, Australia 7/02/2008 10:22:23 AM |
February 07, 2008 Re: Standard Library Concerns (Phobos / Tango) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Derek Parnell | On Thu, 07 Feb 2008 10:30:38 +1100, Derek Parnell wrote:
> On Wed, 06 Feb 2008 10:49:17 -0400, Tim Burrell wrote:
>
>> Hey all,
>>
>> It seems that even though Phobos is open source, it's difficult for people to contribute to. Patch submissions aren't being accepted as readily as they should be, and bugs remain even months after having a fix submitted by users.
>
> Yes, this has been a long standing issue with Phobos development.
>
Just some thing I have missed to be mentioned in this discussion.
I hope I can contribute some some interesting/productive perspective.
Due to Phobos simpler size:
- it's easier to maintain and adapt
- it's easier to start with
- it avoids to get in the way of peoples coding philosophies
- people want to have new features (but Phobos feature set is comparable
to the C++ std)
Due to Tangos bigger size and range of functionally (Logging, FilePath,
Time classes, Clustering, Http stuff..).
- Tango will have many changes as there were already
- it's hard to design smth. that satisfy most needs if.
Depending on the subject of the aim, it may be even impossible.
- Tango doesn't offer D2.0 compatibility (despite some early attemps)
- people want to change features, since they don't fit all their special
needs
Phobos is also an important workground to get first hand experience for
Walter if a new feature is usefull.
For every new DMD 2.0 version he must also offer a standard library.
Keeping Tango up to date with all D2.0 language experiments would at
least slow down language development considerable.
Tangobos could be a good start point to solve the issue,
but it would have to be a _true_ subset of Tango that doesn't depend
on the higher level features of Tango.
That issue introduces two hurdles:
- the design of Phobos and Tango must get in some sync on that level
- some basic Tango features that Phobos also does have are probably glued
together with fancy stuff on class level.
But I think it can be done.
Phobos need to get some more basic OO (Object Orientated) design (console output, threads?) and Tango need to unglue some stuff from it's OO that doesn't have to be OO style.
Some first attemps have already been made.
(e.g. Phobos with Tango Threads, Tango and Phobos changes to be more
compatible)
In a nutshell, I think that Tango is not ready yet to be _the_ standard lib. It can't move as fast as the D2.0 language evolves.
Java has a big std library, but Sun also have manpower/money.
Still, it takes time for them to improve the language
and yet, they will continue to have oudated parts in theire std library
on regular basis (e.g. gui stuff). :>
For myself, I'm a satisfied Tango user.
But I try not to use all fancy high level features often since they
sometimes don't fit my needs, code philosophy, intended encapsulation or
behaviour.
|
February 07, 2008 Re: Standard Library Concerns (Phobos / Tango) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Moritz Warning | On Thu, 07 Feb 2008 00:58:50 +0000, Moritz Warning wrote:
> Just some thing I have missed to be mentioned in this discussion. I hope I can contribute some some interesting/productive perspective.
Before sb. points out that I forgot to realize that Phobos doesn't get
enough fixing despite patch are available (thanks to the effort of
users!)...
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.
|
February 07, 2008 Re: Standard Library Concerns (Phobos / Tango) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Moritz Warning | On Thu, 07 Feb 2008 00:58:50 +0000, Moritz Warning wrote:
> On Thu, 07 Feb 2008 10:30:38 +1100, Derek Parnell wrote:
>
>> On Wed, 06 Feb 2008 10:49:17 -0400, Tim Burrell wrote:
>>
>>> Hey all,
>>>
>>> It seems that even though Phobos is open source, it's difficult for people to contribute to. Patch submissions aren't being accepted as readily as they should be, and bugs remain even months after having a fix submitted by users.
>>
>> Yes, this has been a long standing issue with Phobos development.
>>
>>
> Just some thing I have missed to be mentioned in this discussion. I hope I can contribute some some interesting/productive perspective.
>
> Due to Phobos simpler size:
> - it's easier to maintain and adapt
> - it's easier to start with
> - it avoids to get in the way of peoples coding philosophies - people
> want to have new features (but Phobos feature set is comparable to the
> C++ std)
>
> Due to Tangos bigger size and range of functionally (Logging, FilePath,
> Time classes, Clustering, Http stuff..). - Tango will have many changes
> as there were already - it's hard to design smth. that satisfy most
> needs if.
> Depending on the subject of the aim, it may be even impossible.
> - Tango doesn't offer D2.0 compatibility (despite some early attemps) -
> people want to change features, since they don't fit all their special
> needs
>
> Phobos is also an important workground to get first hand experience for
> Walter if a new feature is usefull.
> For every new DMD 2.0 version he must also offer a standard library.
> Keeping Tango up to date with all D2.0 language experiments would at
> least slow down language development considerable.
>
> Tangobos could be a good start point to solve the issue, but it would
> have to be a _true_ subset of Tango that doesn't depend on the higher
> level features of Tango. That issue introduces two hurdles:
> - the design of Phobos and Tango must get in some sync on that level -
> some basic Tango features that Phobos also does have are probably glued
> together with fancy stuff on class level.
>
> But I think it can be done.
>
> Phobos need to get some more basic OO (Object Orientated) design
> (console output, threads?) and Tango need to unglue some stuff from it's
> OO that doesn't have to be OO style.
>
> Some first attemps have already been made. (e.g. Phobos with Tango Threads, Tango and Phobos changes to be more compatible)
>
> In a nutshell, I think that Tango is not ready yet to be _the_ standard lib. It can't move as fast as the D2.0 language evolves.
>
> Java has a big std library, but Sun also have manpower/money. Still, it takes time for them to improve the language and yet, they will continue to have oudated parts in theire std library on regular basis (e.g. gui stuff). :>
>
> For myself, I'm a satisfied Tango user. But I try not to use all fancy high level features often since they sometimes don't fit my needs, code philosophy, intended encapsulation or behaviour.
I agree that Tango isn't able to keep up with the rapid changes in D2 or D3? But, in my opinion I don't think it has to in order to be called the standard library. D2 has not been released, it has no obligation to provide the same environment as D1. D2 is publicly available because Walter relies greatly on community input/testing. Phobos can be used as the testing standard library, and Tango for releases.
Sure this causes people to go out of their way to test the latest D, but I don't see this as a problem. Since D now has stable branches, the beta branch shouldn't be used for production. Don't get me wrong, Phobos should still be a viable option for developing in.
What I think should be done. D1 should be left alone, an option of downloading dmd with Phobos or Tango should be available. Starting with D2 Tango should take over as the standard library (no tangobos). Phobos should be an add-on. This can either be like Tango is now where you download and install it, or it can come with the compiler and have a compiler flag to switch them.
Currently Tango is the oddball out library, you have to go to the trouble to find and use it. Yet many of the projects at Dsource build on it. Many of the projects that were built on Phobos are going to the trouble to switch. The only ones that aren't looking at switching seem to be the dead projects. This to me is a big indicator that Tango should take the stand. People are going to avoid using Tango because it is not "the" standard library.
|
February 07, 2008 Re: Standard Library Concerns (Phobos / Tango) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jesse Phillips | Jesse Phillips Wrote: > I agree that Tango isn't able to keep up with the rapid changes in D2 or D3? But, in my opinion I don't think it has to in order to be called the standard library. D2 has not been released, it has no obligation to provide the same environment as D1. Yes, but D1 is stable. I have program Y that assumes Phobos is the standard library. As long as stable compilers are released when Phobos is the standard library, those stable D versions will have to stay with Phobos. If you guys want Tango to be the standard library, ship it with the dev compiler. >The only ones that aren't looking at switching seem to be the > dead projects. I found that mildly offensive. I use Phobos because it's more suited to my needs [read: better for me]. The reasons I prefer Phobos are: 1) I know what it does 2) I understand it's conventions The *only* reason I'd consider switching to tango is if the compiled algorithms were *noticeably* faster, or tango offered some feature that I didn't want to spend time figuring out how to implement myself. I learn things for the purpose of understanding how they work, but if the algorithm is more or less the same, I don't care. I don't like OO things. They're opague. I don't understand what they do inside. Regards, Dan |
Copyright © 1999-2021 by the D Language Foundation