| Thread overview | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
April 18, 2007 Let Go, Standard Library From Community | ||||
|---|---|---|---|---|
| ||||
Personally, I'm not familiar with tango, but the following is based on the thought of 1. one man's effort vs. a team's effort 2. growing D code need only 1 base standard library. I don't think it's funny to switch from phobos to tango or switch tango back to phobos. I think standard library should be provided by D community, I appreciate Walter gave us phobos. We needed this babysitter. But now D community is growing bigger & bigger. I'm wondering if Walter can put as much effort as he used to put on Phobos to compete with Tango. And endless arguing of Phobos vs. Tango is somewhat meaningless & annoying. Once tangobos out, I hope standard DMD package would be released by tango team & Walter, with Tango being the base default library. Users can use tangobos for legacy code. | ||||
April 18, 2007 Re: Let Go, Standard Library From Community | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Davidl | Davidl wrote: > Personally, I'm not familiar with tango, but the following is based on > the thought of > 1. one man's effort vs. a team's effort > 2. growing D code need only 1 base standard library. > > I don't think it's funny to switch from phobos to tango or switch tango back to phobos. If you haven't used Tango, then how can you make this comment? > I think standard library should be provided by D community, I appreciate > Walter gave us phobos. > We needed this babysitter. But now D community is growing bigger & > bigger. I'm wondering if Walter > can put as much effort as he used to put on Phobos to compete with > Tango. And endless arguing of > Phobos vs. Tango is somewhat meaningless & annoying. > Once tangobos out, I hope standard DMD package would be released by > tango team & Walter, with Tango > being the base default library. Users can use tangobos for legacy code. I really don't see the need for this. Phobos is a lovely minimalist library that simply gets the job done with a minimum of fuss. Tango is a nicely structured library full of functionality. They fill different needs. What's more, switching between them is a *total* non-issue. Here's how I compile phobos apps: $ rebuild foo Here's how I compile Tango apps $ rebuild -dcdmd-tango bar Heck, I usually don't even do that; I just dump the switches into a text file and use them as response files. If rebuild grew bud-style +target args, it'd be perfect :) It's not like it's rocket science any more. I honestly can't see a reason why the two can't simply coexist. -- Daniel -- int getRandomNumber() { return 4; // chosen by fair dice roll. // guaranteed to be random. } http://xkcd.com/ v2sw5+8Yhw5ln4+5pr6OFPma8u6+7Lw4Tm6+7l6+7D i28a2Xs3MSr2e4/6+7t4TNSMb6HTOp5en5g6RAHCP http://hackerkey.com/ | |||
April 18, 2007 Re: Let Go, Standard Library From Community | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Daniel Keep | On Wed, 18 Apr 2007 11:55:55 +0400, Daniel Keep <daniel.keep.lists@gmail.com> wrote: > What's more, switching between them is a *total* non-issue. Here's how > I compile phobos apps: > > $ rebuild foo > > Here's how I compile Tango apps > > $ rebuild -dcdmd-tango bar > > Heck, I usually don't even do that; I just dump the switches into a text > file and use them as response files. If rebuild grew bud-style +target > args, it'd be perfect :) > > It's not like it's rocket science any more. I honestly can't see a > reason why the two can't simply coexist. I think problem of Phobos/Tango incompatibility affects not application writers, but libraries writers. If someone writes some application domain library (XML parsing, SOAP support, event-driven framework and so on) then he/she can use Phobos or Tango, but this choice divides users of than library to Phobos-only or Tango-only. An attempt to write big library which can work either with Phobos or Tango would lead to undesirable amount of version statements in code (as in good old C/C++ times with many #if/#else). -- Regards, Yauheni Akhotnikau | |||
April 18, 2007 Re: Let Go, Standard Library From Community | ||||
|---|---|---|---|---|
| ||||
Posted in reply to eao197 | eao197 wrote: > On Wed, 18 Apr 2007 11:55:55 +0400, Daniel Keep <daniel.keep.lists@gmail.com> wrote: > >> What's more, switching between them is a *total* non-issue. Here's how I compile phobos apps: >> >> $ rebuild foo >> >> Here's how I compile Tango apps >> >> $ rebuild -dcdmd-tango bar >> >> Heck, I usually don't even do that; I just dump the switches into a text file and use them as response files. If rebuild grew bud-style +target args, it'd be perfect :) >> >> It's not like it's rocket science any more. I honestly can't see a reason why the two can't simply coexist. > > I think problem of Phobos/Tango incompatibility affects not application writers, but libraries writers. If someone writes some application domain library (XML parsing, SOAP support, event-driven framework and so on) then he/she can use Phobos or Tango, but this choice divides users of than library to Phobos-only or Tango-only. An attempt to write big library which can work either with Phobos or Tango would lead to undesirable amount of version statements in code (as in good old C/C++ times with many #if/#else). > > --Regards, > Yauheni Akhotnikau I've been writing an XML SAX parser based on Expat, and it supports both Phobos and Tango; it wasn't much work at all. A few aliases and version statements, and I'm good. Also, this seems a bit like the difference between writing a library for just the standard C++ libraries and, say, MFC or wxWidgets. I still think it's a little early to be shoving Phobos out the door into the cold, dark night with nary more than a "thanks, it's been great but I'm seeing someone else now" based on what we think might happen at some indeterminable point in the future. I think it would be better to wait until Tango hits 1.0, and a few large libraries have actually been written so we can get a feel for how this is all panning out. Besides, I quite like Phobos :) -- Daniel "There, there, Phobos. *I* still <3 you..." -- int getRandomNumber() { return 4; // chosen by fair dice roll. // guaranteed to be random. } http://xkcd.com/ v2sw5+8Yhw5ln4+5pr6OFPma8u6+7Lw4Tm6+7l6+7D i28a2Xs3MSr2e4/6+7t4TNSMb6HTOp5en5g6RAHCP http://hackerkey.com/ | |||
April 18, 2007 Re: Let Go, Standard Library From Community | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Daniel Keep | > > > Davidl wrote: >> Personally, I'm not familiar with tango, but the following is based on >> the thought of >> 1. one man's effort vs. a team's effort >> 2. growing D code need only 1 base standard library. >> >> I don't think it's funny to switch from phobos to tango or switch tango >> back to phobos. > > If you haven't used Tango, then how can you make this comment? > I use it a little, but the points I listed is so obvious. I think no doubt on those. >> I think standard library should be provided by D community, I appreciate >> Walter gave us phobos. >> We needed this babysitter. But now D community is growing bigger & >> bigger. I'm wondering if Walter >> can put as much effort as he used to put on Phobos to compete with >> Tango. And endless arguing of >> Phobos vs. Tango is somewhat meaningless & annoying. >> Once tangobos out, I hope standard DMD package would be released by >> tango team & Walter, with Tango >> being the base default library. Users can use tangobos for legacy code. > > I really don't see the need for this. Phobos is a lovely minimalist > library that simply gets the job done with a minimum of fuss. Tango is > a nicely structured library full of functionality. They fill different > needs. > > What's more, switching between them is a *total* non-issue. Here's how > I compile phobos apps: > > $ rebuild foo > > Here's how I compile Tango apps > > $ rebuild -dcdmd-tango bar > > Heck, I usually don't even do that; I just dump the switches into a text > file and use them as response files. If rebuild grew bud-style +target > args, it'd be perfect :) > I don't think it's handy at all, and I don't like the feeling of forcing users to choose between 2 base libraries at the very first. And I'm quite sure they would *IN MOST CASE* be misled to phobos without any cosideration even they don't know if phobos is what they want, they just think it comes with the compiler. And I think this brings a *GREAT UNFAIR* in library competition > It's not like it's rocket science any more. I honestly can't see a > reason why the two can't simply coexist. > > -- Daniel > No, for D's own good, one of them should die peacefully. | |||
April 18, 2007 Re: Let Go, Standard Library From Community | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Daniel Keep | And also learning two completely different APIs ain't that easy. With the powerful expressive D lang , users already have many things to learn to use it practical, not to say the base libraries. I'm not saying Phobos is *BAD*. What I mean is the coexistance of Phobos and Tango just confuses users. | |||
April 18, 2007 Re: Let Go, Standard Library From Community | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Daniel Keep | On Wed, 18 Apr 2007 14:27:10 +0400, Daniel Keep <daniel.keep.lists@gmail.com> wrote: >> I think problem of Phobos/Tango incompatibility affects not application >> writers, but libraries writers. If someone writes some application >> domain library (XML parsing, SOAP support, event-driven framework and so >> on) then he/she can use Phobos or Tango, but this choice divides users >> of than library to Phobos-only or Tango-only. An attempt to write big >> library which can work either with Phobos or Tango would lead to >> undesirable amount of version statements in code (as in good old C/C++ >> times with many #if/#else). >> >> --Regards, >> Yauheni Akhotnikau > > I've been writing an XML SAX parser based on Expat, and it supports both > Phobos and Tango; it wasn't much work at all. A few aliases and version > statements, and I'm good. I said not about D-wrappers around existing C/C++ libraries but about 'native' D libraries. For example, to use D on my work I need to make D-port of (at least) 3 our C++ libraries (for configuration files, data serialization, event-oriented programming). Because the existing C++ libraries heavy use C++templates it isn't possible to make D wrapper around existing code. > Also, this seems a bit like the difference between writing a library for > just the standard C++ libraries and, say, MFC or wxWidgets. I still > think it's a little early to be shoving Phobos out the door into the > cold, dark night with nary more than a "thanks, it's been great but I'm > seeing someone else now" based on what we think might happen at some > indeterminable point in the future. I didn't speak about throwing Phobos away. Phobos is a good library. And it should be here because D is a multiparadigm language, so in some circumstances C-like Phobos library much more appopriate then fully object-oriented Tango library. But it is a sad situation when some application can't be link against Phobos-based and Tango-based libraries at the same time. I hope that Walter and the Tango team find the solution for that problem. -- Regards, Yauheni Akhotnikau | |||
April 18, 2007 Re: Let Go, Standard Library From Community | ||||
|---|---|---|---|---|
| ||||
Posted in reply to eao197 | eao197 wrote:
>
> I think problem of Phobos/Tango incompatibility affects not application writers, but libraries writers. If someone writes some application domain library (XML parsing, SOAP support, event-driven framework and so on) then he/she can use Phobos or Tango, but this choice divides users of than library to Phobos-only or Tango-only. An attempt to write big library which can work either with Phobos or Tango would lead to undesirable amount of version statements in code (as in good old C/C++ times with many #if/#else).
Or they can do what I did with Derelict and add a module to the library that wraps Phobos/Tango calls. It only needs to wrap the functions/objects the library actually uses. Admittedly, there is a problem if you use standard library calls extensively, or if you use features of one library that aren't (yet) available in the other (such as the Zlib and ZipArchive modules in Phobos). But in that case, unless your library is intended to make money for you, why worry? And if it is commercial, then you have good incentive to implement missing functionality anyway.
| |||
April 18, 2007 Re: Let Go, Standard Library From Community | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Davidl | Davidl wrote:
> And also learning two completely different APIs ain't that easy.
> With the powerful expressive D lang , users already have many things
> to learn to use it practical, not to say the base libraries.
>
> I'm not saying Phobos is *BAD*. What I mean is the coexistance of
> Phobos and Tango just confuses users.
And I agree with you.
L.
| |||
April 18, 2007 Re: Let Go, Standard Library From Community | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Lionello Lunesu | I just use phobos. It gets the job done, instead of trying to be everything and anything the user might possibly want to interact with; like the Java libraries. I find the Java libraries are so freakin' huge and multipurpose that they couldn't possibly be even close to efficient or practical for any one solution. Likewise I fear for Tango, as it's got that OO gleam in it's eye and is implementing classes for crypto.. I mean.. crypto!? What's next, a math class? *shudders* | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply