July 14, 2007 Re: Two standard libraries? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Steve Teale | Actually, I'm just about to switch from phobos to tango. I initially went with phobos because it's what comes with D and was simpler for both me and anyone who uses my program...
I didn't have any issues for 2 months, then I started hitting issues with little or no way to get help. I eventually traced one of my issues to a low numbered issue in the issue database that had never gotten fixed. I saw Walter nearly overloaded with D 2.0, but got rapid responses and encouraging responses from the Tango team. Many of my problems (bit or small) with Phobos have been fixed already in Tango... Or at least look like someone took a stab at it. When you add in that the Tango team will be responsive to problems discovered and work to resolve issues, I'm sold!
Steve Teale wrote:
> It bothers me that Phobos and Tango seem to be completely divergent. One of the things that makes a language successful is that it has a good standard library. It seems that with D, you have to be a betting man - which standard library will prevail.
>
> It seemes to me that given Walter's definition of the language - a system programming language - that Phobos is closer to the mark. If users want a more object oriented standard library, that's all well and good, but it should be a shoe-in, then if you want to use the OO stuff you can, but code that's been written to work with Phobos should work unmodified with other libraries. (Note the recent discussion on C++ security). Any other approach seems to me to reek of vanity.
>
> I am not saying that Phobos is perfect. It has lots of omissions, but I have a feeling that it is about at the right level to enable authors to write the more OO stuff on top of it.
>
> I'm sure that this is a sensitive subject, but there you go! I think we all agree that Walter has done a damn good job on D, so why should we reject his thinking on Phobos? I've been watching Walter for a long time now, and in my book, he knows as much about his subject as anyone does, especially considering the coverage that's expected of him.
>
> If D is to succeed, I think we should work together rather than compete. I'd like to see a much more formal system for contributors to take responsibility for areas of Phobos. Maybe it exists, but if it does, it's hardly in your face. I'd also like to see people back off on trying to replace it. Let's improve it and augment it.
>
>
| |||
July 14, 2007 Re: Two standard libraries? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Steve Teale | I have to second this, but more from the reality of people depending on tango in their libraries. From what I've seen of tango, It's a bit over-designed/engineered for my taste, but I could easily change my opinion one day, and I've not found any justification for using it yet.
What irk's me though is that dsource is starting to see code that depends on tango. Which is adding a a huge barrier/dependancy that resulted in me just completely re-writing some code from scratch rather than re-using something already on dsource. I hate doing that, but forcing tango on downloading my code, is not something I'm particularly want to do at present.
While It doesnt sound like Walter will allow a more open commit policy on phobos, I'm at a bit of a loss to see how this could be resolved..
I'd hate to see where dsource ends up with a complete mishmash of phobos and tango only libraries.
Regards
Alan
Steve Teale wrote:
> It bothers me that Phobos and Tango seem to be completely divergent.
> One of the things that makes a language successful is that it has a
> good standard library. It seems that with D, you have to be a
> betting man - which standard library will prevail.
>
> It seemes to me that given Walter's definition of the language - a
> system programming language - that Phobos is closer to the mark. If
> users want a more object oriented standard library, that's all well
> and good, but it should be a shoe-in, then if you want to use the OO
> stuff you can, but code that's been written to work with Phobos
> should work unmodified with other libraries. (Note the recent
> discussion on C++ security). Any other approach seems to me to reek
> of vanity.
>
> I am not saying that Phobos is perfect. It has lots of omissions,
> but I have a feeling that it is about at the right level to enable
> authors to write the more OO stuff on top of it.
>
> I'm sure that this is a sensitive subject, but there you go! I think
> we all agree that Walter has done a damn good job on D, so why should
> we reject his thinking on Phobos? I've been watching Walter for a
> long time now, and in my book, he knows as much about his subject as
> anyone does, especially considering the coverage that's expected of
> him.
>
> If D is to succeed, I think we should work together rather than
> compete. I'd like to see a much more formal system for contributors
> to take responsibility for areas of Phobos. Maybe it exists, but if
> it does, it's hardly in your face. I'd also like to see people back
> off on trying to replace it. Let's improve it and augment it.
>
>
| |||
July 14, 2007 Tangobos (Was: Re: Two standard libraries?) | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Alan Knowles | Not sure if anyone has mentioned tangobos yet: http://www.dsource.org/projects/tangobos/ Alan Knowles Wrote: > I have to second this, but more from the reality of people depending on tango in their libraries. From what I've seen of tango, It's a bit over-designed/engineered for my taste, but I could easily change my opinion one day, and I've not found any justification for using it yet. > > What irk's me though is that dsource is starting to see code that depends on tango. Which is adding a a huge barrier/dependancy that resulted in me just completely re-writing some code from scratch rather than re-using something already on dsource. I hate doing that, but forcing tango on downloading my code, is not something I'm particularly want to do at present. > > While It doesnt sound like Walter will allow a more open commit policy on phobos, I'm at a bit of a loss to see how this could be resolved.. > > I'd hate to see where dsource ends up with a complete mishmash of phobos and tango only libraries. > > Regards > Alan > > Steve Teale wrote: > > It bothers me that Phobos and Tango seem to be completely divergent. One of the things that makes a language successful is that it has a good standard library. It seems that with D, you have to be a betting man - which standard library will prevail. > > > > It seemes to me that given Walter's definition of the language - a system programming language - that Phobos is closer to the mark. If users want a more object oriented standard library, that's all well and good, but it should be a shoe-in, then if you want to use the OO stuff you can, but code that's been written to work with Phobos should work unmodified with other libraries. (Note the recent discussion on C++ security). Any other approach seems to me to reek of vanity. > > > > I am not saying that Phobos is perfect. It has lots of omissions, but I have a feeling that it is about at the right level to enable authors to write the more OO stuff on top of it. > > > > I'm sure that this is a sensitive subject, but there you go! I think we all agree that Walter has done a damn good job on D, so why should we reject his thinking on Phobos? I've been watching Walter for a long time now, and in my book, he knows as much about his subject as anyone does, especially considering the coverage that's expected of him. > > > > If D is to succeed, I think we should work together rather than compete. I'd like to see a much more formal system for contributors to take responsibility for areas of Phobos. Maybe it exists, but if it does, it's hardly in your face. I'd also like to see people back off on trying to replace it. Let's improve it and augment it. > > > > | |||
July 14, 2007 Re: Two standard libraries? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Jason House | Jason House Wrote:
> Actually, I'm just about to switch from phobos to tango. I initially went with phobos because it's what comes with D and was simpler for both me and anyone who uses my program...
>
> I didn't have any issues for 2 months, then I started hitting issues with little or no way to get help. I eventually traced one of my issues to a low numbered issue in the issue database that had never gotten fixed. I saw Walter nearly overloaded with D 2.0, but got rapid responses and encouraging responses from the Tango team. Many of my problems (bit or small) with Phobos have been fixed already in Tango... Or at least look like someone took a stab at it. When you add in that the Tango team will be responsive to problems discovered and work to resolve issues, I'm sold!
I totally second that complaint. It is a pitty that even if you send in tested, working
patches, they do not get incorporated. Still, I prefer Phobos because it looks much leaner, and has a better decumentation.
Ciao
Tom
| |||
July 14, 2007 Re: Two standard libraries? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Bill Baxter | Bill Baxter Wrote:
> Steve Teale wrote:
> > It bothers me that Phobos and Tango seem to be completely divergent. One of the things that makes a language successful is that it has a good standard library. It seems that with D, you have to be a betting man - which standard library will prevail.
>
> I think the only issue is the fact that they're incompatible. Maybe that's what you meant by 'divergent', but to me 'divergent' just means going in different directions, as in creating diversity. The existence of a big Java-style library like Tango can only be seen as a plus for D, except for that darn incompatibility issue.
>
> Tango could have been made compatible with phobos. The reasons for
> making it a replacement for phobos rather than a regular library are (as
> I understand it):
> 1) They wanted to be in charge of their own garbage collector
> 2) Phobos' exception hierarchy makes no sense and they wanted to fix that.
>
> And there were a few other minor things that annoyed them about Phobos, but by themselves I suspect wouldn't have been enough to warrant creating a schism. (printf declared in object.d, toString actually returning utf-8 not just any old string).
>
> It would be great if at the D conference the Tango folks could sit down and have a serious face-to-face with Walter about what it would take to make Tango D-compatible once again -- or perhaps that should be upgrading D to be Tango-compatible. I'm thinking things like getting Walter to fix the exception hierarchy in Phobos, and maybe doing whatever it takes to make the garbage collector pluggable to allow experimentation in that area without creating a schism.
>
> --bb
Yes, I did mean incompatible, but I'd had a couple of beers at the time. If the issues you describe are all that is at the core of the schism, we should really try to get it sorted. It's really frustrating to find that half of the things you'd like to use out of DSource are going to make you have to do major surgery on your existing code.
| |||
July 14, 2007 Re: Two standard libraries? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Sean Kelly | Sean Kelly Wrote:
> Steve Teale wrote:
> >
> > It seemes to me that given Walter's definition of the language - a system programming language - that Phobos is closer to the mark. If users want a more object oriented standard library, that's all well and good, but it should be a shoe-in, then if you want to use the OO stuff you can, but code that's been written to work with Phobos should work unmodified with other libraries. (Note the recent discussion on C++ security).
>
> While one might argue that it is easier to wrap a strictly procedural library with an OO layer than vice-versa, I think the ease with which any library may be encapsulated in a wrapper is more dependent on its design (the assumptions it makes, how features are exposed, etc) than on whether the interface uses functions or objects. That said, I don't personally consider Tango to be an object-oriented library because it does not require the user to define his own objects in order to use it.
>
>
> Sean
Sean, I take your point, and maybe should not have used the term "OO", but my idea of progress is:
printf("X is: %s\n", toStringz(x))
cout << "X is: " << x << endl;
Stdout("X is: ")(x).newline;
writefln("X is: %s", x);
rather than:
printf("X is: %s\n", toStringz(&x))
cout << "X is: " << x << endl;
writefln("X is: %s", x);
Stdout("X is: ")(x).newline;
| |||
July 14, 2007 Re: Two standard libraries? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Steve Teale | Steve Teale wrote:
> Sean Kelly Wrote:
>
>> Steve Teale wrote:
>>> It seemes to me that given Walter's definition of the language - a system programming language - that Phobos is closer to the mark. If users want a more object oriented standard library, that's all well and good, but it should be a shoe-in, then if you want to use the OO stuff you can, but code that's been written to work with Phobos should work unmodified with other libraries. (Note the recent discussion on C++ security).
>> While one might argue that it is easier to wrap a strictly procedural library with an OO layer than vice-versa, I think the ease with which any library may be encapsulated in a wrapper is more dependent on its design (the assumptions it makes, how features are exposed, etc) than on whether the interface uses functions or objects. That said, I don't personally consider Tango to be an object-oriented library because it does not require the user to define his own objects in order to use it.
>>
>>
>> Sean
>
> Sean, I take your point, and maybe should not have used the term "OO", but my idea of progress is:
>
> printf("X is: %s\n", toStringz(x))
> cout << "X is: " << x << endl;
> Stdout("X is: ")(x).newline;
> writefln("X is: %s", x);
>
> rather than:
>
> printf("X is: %s\n", toStringz(&x))
> cout << "X is: " << x << endl;
> writefln("X is: %s", x);
> Stdout("X is: ")(x).newline;
>
For what it's worth, Stdout supports a number of different output methods. The "whisper syntax" you show above is just the most commonly known. For formatted output similar to writefln you'd do:
Stdout.format( "X is: {}", x ).newline;
Another option is:
Stdout( "X is: ", x ).newline;
This last prints comma-delimeted output, since that's how it appears in the Stdout call. For what it's worth, Kris recently explained all this on D.learn.
Sean
| |||
July 14, 2007 Re: Two standard libraries? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Walter Bright wrote:
> Bill Baxter wrote:
>> It would be great if at the D conference the Tango folks could sit down and have a serious face-to-face with Walter about what it would take to make Tango D-compatible once again -- or perhaps that should be upgrading D to be Tango-compatible. I'm thinking things like getting Walter to fix the exception hierarchy in Phobos, and maybe doing whatever it takes to make the garbage collector pluggable to allow experimentation in that area without creating a schism.
>
> I'm up for such a discussion.
Same here. Heck, the point of the conference in my opinion is to meet people. The talks largely exist to fuel conversation.
Sean
| |||
July 14, 2007 Re: Tangobos (Was: Re: Two standard libraries?) | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Robert Fraser | Robert Fraser wrote: > Not sure if anyone has mentioned tangobos yet: > > http://www.dsource.org/projects/tangobos/ > > Alan Knowles Wrote: > I personally don't like the idea of having yet another layer. This reminds me a bit of Java: You have a layer, for a layered layer that layers something completely else. The word layer is used at least 4 times too often in the last sentence ;) -- .71 nicolai dot waniek at sphere71 dot com | |||
July 14, 2007 Re: Two standard libraries? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Steve Teale | I just wanted to share my opinion on the topic, altough most of it was already mentioned above.
In my opinion we should concentrate on one library, instead of having both.
Phobos is good to have, because it ships with the dmd compiler so you can start
coding immediately, tango is really nice because it's more a community driven
project. Both libraries have their pros and their cons, but IMHO i waste too
much of my time switching between those two libraries. I think it is time to
decide how to proceed with the standard libraries. This is of course a topic
that should be discussed on the D conference (though I wont be there). Somehow
they should be merged, but don't ask me how.
My favourite would be a small core library (as stated by Tristam MacDonald) that
only includes the basic stuff and a standard library extending the core stuff to
a mix of phobos and tango. Of course one has to decide which garbage collector
to use, or to make more than one available.
My problem with both libraries is that I just use a subset of their features,
but I get the whole package compiled into my projects - and though we have 250GB
HDDs, i want my applications be (damn) small.
Best regards
Nicolai
--
.71
nicolai dot waniek at sphere71 dot com
| |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply