June 14, 2008
Jarrett Billingsley wrote:
> It *has* a standard library.  It's Phobos.  It just so happens that many D users use Tango instead ;)  Of course that begs the question: is a "standard library" that is used by a minority all that "standard"?
                                            ^^^^^^^^
Do you have any proof other than the very unrepresentative poll in this
newsgroup that Tango has more users than Phobos? As far as I know no one
knows the ratio of Phobos and Tango users, so this statement is only an
assumption, based on what exactly? The hopes of Tango followers?

I don't mean to affront you or any other Tango user, but I respond very
harsh if I'm under the impression that someone uses propaganda to push
his goal.

Are there any download counts published that could give us a *hint* of
which library is used more often?

LLAP,
Sascha
June 14, 2008
"Jarrett Billingsley" <kb3ctd2@yahoo.com> wrote in message news:g2unqe$18lg$1@digitalmars.com...
>
> It *has* a standard library.  It's Phobos.  It just so happens that many D users use Tango instead ;)  Of course that begs the question: is a "standard library" that is used by a minority all that "standard"?

I might be off-base, but I've always thought of it like this:

Phobos: Official Standard
Tango: De Facto Standard

Of course, Phobos being the only one that supports D2 right now kinda changes things for the moment.


June 14, 2008
Sascha Katzner wrote:

> Jarrett Billingsley wrote:
>> It *has* a standard library.  It's Phobos.  It just so happens that many D users use Tango instead ;)  Of course that begs the question: is a "standard library" that is used by a minority all that "standard"?
>                                              ^^^^^^^^
> Do you have any proof other than the very unrepresentative poll in this
> newsgroup that Tango has more users than Phobos? As far as I know no one
> knows the ratio of Phobos and Tango users, so this statement is only an
> assumption, based on what exactly? The hopes of Tango followers?
> 
> I don't mean to affront you or any other Tango user, but I respond very harsh if I'm under the impression that someone uses propaganda to push his goal.
> 
> Are there any download counts published that could give us a *hint* of which library is used more often?
> 
> LLAP,
> Sascha

You could look at the library code and projects at dsource that is being written. Most projects and almost every big project uses Tango. That is maybe even more important than the number of users.

June 14, 2008
"Sascha Katzner" <sorry.no@spam.invalid> wrote in message news:g2vrqi$ui1$1@digitalmars.com...
> Jarrett Billingsley wrote:
>> It *has* a standard library.  It's Phobos.  It just so happens that many D users use Tango instead ;)  Of course that begs the question: is a "standard library" that is used by a minority all that "standard"?
>                                             ^^^^^^^^
> Do you have any proof other than the very unrepresentative poll in this
> newsgroup that Tango has more users than Phobos? As far as I know no one
> knows the ratio of Phobos and Tango users, so this statement is only an
> assumption, based on what exactly? The hopes of Tango followers?
>
> I don't mean to affront you or any other Tango user, but I respond very harsh if I'm under the impression that someone uses propaganda to push his goal.
>
> Are there any download counts published that could give us a *hint* of which library is used more often?
>
> LLAP,
> Sascha

I'm mostly going off of what Lutger has said, as well as a somewhat subjective rating based on my experience on the D IRC channel.

As for download counts, I'm not so sure any real comparison could be made. Phobos comes with the compiler, which can be obtained from many sources (directly from DM, the GDC sourceforge page, debian packages).  Also, Tango can be checked out of SVN anonymously so I don't think there's any reliable way of knowing how many people have it.


June 14, 2008
Lutger wrote:
> You could look at the library code and projects at dsource that is
> being written. Most projects and almost every big project uses Tango.
> That is maybe even more important than the number of users.

If a specific project is significant or not is a highly subjective decision and the pure count of projects which depend on either Phobos or Tango doesn't say much about the real spread or significance of either one.

If you want to use other libraries and projects as a benchmark, you have to weight them according to an objective criteria, such as their users and their relevance... which seems to me more complex than the original question.

And even if you successfully master this you don't account for a lot of people who don't use any third party libs.

LLAP,
Sascha
June 14, 2008
Jarrett Billingsley wrote:
> As for download counts, I'm not so sure any real comparison could be
> made. Phobos comes with the compiler, which can be obtained from many
> sources (directly from DM, the GDC sourceforge page, debian
> packages).  Also, Tango can be checked out of SVN anonymously so I
> don't think there's any reliable way of knowing how many people have
> it.

I think it is pretty safe to assume that the majority of Tango users
prefer the pre-bundled package and not the subversion way (the same
should be true for DMD/Phobos). And since the compiler is already
included in this release you don't have to subtract this count from the
one of the DM website.

So I think if you account for the same time period the download counts
should be a very good hint for the usage ratio of the two libraries.

LLAP,
Sascha
June 14, 2008
On Sat, 14 Jun 2008 12:18:00 +0200, Lutger wrote:

> Sascha Katzner wrote:
> 
>> Jarrett Billingsley wrote:
>>>..You could look at the library code and projects at dsource that is
being
> written. Most projects and almost every big project uses Tango. That is maybe even more important than the number of users.

Which is[was?] a real problem as, for me at least, tango keeps breaking with each new release of D.  And I didn't find DSSS to be all that workable either.  DMD works fine, and so does Phobos.  Tango was unending problems.  And I frequently switch to DMD2 for a new release (and sometimes switch back to DMD), so Tango isn't even consistently an option.

Perhaps some of the problems of which I'm complaining have been fixed.  I last checked over 6 months ago.  But I'm not real inspired to try it out again, either.  If I wanted to spend all my time fighting with my computer I'd install Gentoo.

The upshot is that if a project requires Tango, I generally assume that if I try to use it I'll end up spending all my time in compilation and configuration, and figuring out why what I tried didn't work.  I don't know what configurations the Tango people expect a system to have, but mine doesn't have them.  Once I tried setting up a special user who only executed DMD1.x (forget which version) with Tango.  After 3-4 days I gave that up as a bad job.  I didn't even know why it wasn't working.

OTOH, I've got to admit that many people seem to really like Tango.  And I have no clue as to what the differences between our systems are. (Though there's probably typically so many differences that even that wouldn't help much.)
June 15, 2008
Charles Hixson wrote:
> On Sat, 14 Jun 2008 12:18:00 +0200, Lutger wrote:
> 
>> Sascha Katzner wrote:
>>
>>> Jarrett Billingsley wrote:
>>>> ..You could look at the library code and projects at dsource that is 
> being
>> written. Most projects and almost every big project uses Tango. That is
>> maybe even more important than the number of users.
> 
> Which is[was?] a real problem as, for me at least, tango keeps breaking with each new release of D.  And I didn't find DSSS to be all that workable either.  DMD works fine, and so does Phobos.  Tango was unending problems.  And I frequently switch to DMD2 for a new release (and sometimes switch back to DMD), so Tango isn't even consistently an option.
> 
> Perhaps some of the problems of which I'm complaining have been fixed.  I last checked over 6 months ago.  But I'm not real inspired to try it out again, either.  If I wanted to spend all my time fighting with my computer I'd install Gentoo.
> 
> The upshot is that if a project requires Tango, I generally assume that if I try to use it I'll end up spending all my time in compilation and configuration, and figuring out why what I tried didn't work.  I don't know what configurations the Tango people expect a system to have, but mine doesn't have them.  Once I tried setting up a special user who only executed DMD1.x (forget which version) with Tango.  After 3-4 days I gave that up as a bad job.  I didn't even know why it wasn't working.

I've never had problems this bad, but I am disappointed that Tango releases make no attempt to be backwards compatible (they deprecate some syntax for one release and then get rid of it). Already, the simplest code in the book is not working. Pretty soon, anything that depends on the old collection packages is going to break. If you want to use two libraries that depend on different versions of Tango, you're going to be spending some time fixing them up.

Of course, Phobos 2 might have this problem, I'm not sure.

> OTOH, I've got to admit that many people seem to really like Tango.  And I have no clue as to what the differences between our systems are.  (Though there's probably typically so many differences that even that wouldn't help much.)

The GC/runtime/IO is faster & less buggy than Phobos's in general, so for production code (or code you want to be blazing fast), Tango is th better choice. The upper-level library also has a MUCH nicer API, IMO (you can use it Java-style, like I do, or C/free-function style if you prefer, while Phobos is a hodgepodge of different APIs that don't fit together as well).
June 15, 2008
Charles Hixson wrote:
> On Sat, 14 Jun 2008 12:18:00 +0200, Lutger wrote:
> 
>> Sascha Katzner wrote:
>>
>>> Jarrett Billingsley wrote:
>>>> ..You could look at the library code and projects at dsource that is 
> being
>> written. Most projects and almost every big project uses Tango. That is
>> maybe even more important than the number of users.
> 
> Which is[was?] a real problem as, for me at least, tango keeps breaking with each new release of D.  And I didn't find DSSS to be all that workable either.  DMD works fine, and so does Phobos.  Tango was unending problems.  And I frequently switch to DMD2 for a new release (and sometimes switch back to DMD), so Tango isn't even consistently an option.
> 
> Perhaps some of the problems of which I'm complaining have been fixed.  I last checked over 6 months ago.  But I'm not real inspired to try it out again, either.  If I wanted to spend all my time fighting with my computer I'd install Gentoo.
> 
> The upshot is that if a project requires Tango, I generally assume that if I try to use it I'll end up spending all my time in compilation and configuration, and figuring out why what I tried didn't work.  I don't know what configurations the Tango people expect a system to have, but mine doesn't have them.  Once I tried setting up a special user who only executed DMD1.x (forget which version) with Tango.  After 3-4 days I gave that up as a bad job.  I didn't even know why it wasn't working.
> 
> OTOH, I've got to admit that many people seem to really like Tango.  And I have no clue as to what the differences between our systems are.  (Though there's probably typically so many differences that even that wouldn't help much.)

What I do is pick a version of the compiler that works and stick with that.  As long as you don't need newer versions of tango or other apis that works fine for mw.  I sometimes try out updates however if they fail, or are too tricky to fix, I rollback.

-Joel
June 15, 2008
Robert Fraser wrote:
> The GC/runtime/IO is faster & less buggy than Phobos's in general, so for production code (or code you want to be blazing fast), Tango is th better choice.

If you want "blazing fast" code, it is mostly the better choice to use customized code. Libraries tend to be over protective (for a good reason) and therefore sometimes wasting a lot of time with unnecessary stuff like error checking for errors that could never occur in a specific situation. Tasks like memory management and IO are very good examples for this.

When I'm using a library I don't expect to get the fastest code, but _reliable_ code that I don't have to write on my own. Your observation that Phobos seems to have more bugs _could_be_ a direct consequence of that it is used by more people... SCNR ;)

LLAP,
Sascha