Jump to page: 1 24  
Page
Thread overview
Phobos vs Tango! What's your opinion?
Apr 17, 2007
Dlé
Apr 17, 2007
Robert Fraser
Apr 17, 2007
Dan
Apr 17, 2007
Bradley Smith
Apr 17, 2007
Dan
Apr 17, 2007
Gregor Richards
Apr 18, 2007
Bill Baxter
Apr 18, 2007
Frits van Bommel
Apr 18, 2007
Dan
Apr 18, 2007
Sean Kelly
Apr 18, 2007
Frits van Bommel
Apr 18, 2007
Deewiant
Apr 18, 2007
Alexander Panek
Apr 18, 2007
Deewiant
Apr 18, 2007
Alexander Panek
Apr 18, 2007
Deewiant
Apr 18, 2007
torhu
Apr 18, 2007
Sean Kelly
Apr 18, 2007
Johan Granberg
Apr 18, 2007
Dan
Apr 18, 2007
%u
Apr 18, 2007
Johan Granberg
Apr 18, 2007
David Gileadi
Apr 18, 2007
Paolo Invernizzi
Apr 18, 2007
Sean Kelly
Apr 19, 2007
James Dennett
Apr 19, 2007
Sean Kelly
Apr 19, 2007
Sean Kelly
Apr 18, 2007
Daniel Giddings
Apr 18, 2007
Bill Baxter
April 17, 2007
Hello people!

I'm working and studing this new (for me :-) ) language. I have some questions and i think your opinion is so precious for me.

First, D is a new language.The official library is Phobos. Why another library how Tango that is not compatible with Phobos? Because Tango is opensource and the comunity can develop the library?

Why not a concept how java for example, where we have only one big family of class?

Fundametals differences between Phobos and Tango?

Tank's!

I wait your opinions!

Dié

April 17, 2007
Phobos is mostly open-source, too, now. Tango is more community-driven, though.

In my opinion, they're both capable and complete libraries, but I prefer tango's API, because it feels a bit more like Java's SE, which I'm used to, rather than C(++)'s standard library.

Dlé Wrote:

> Hello people!
> 
> I'm working and studing this new (for me :-) ) language. I have some questions and i think your opinion is so precious for me.
> 
> First, D is a new language.The official library is Phobos. Why another library how Tango that is not compatible with Phobos? Because Tango is opensource and the comunity can develop the library?
> 
> Why not a concept how java for example, where we have only one big family of class?
> 
> Fundametals differences between Phobos and Tango?
> 
> Tank's!
> 
> I wait your opinions!
> 
> Dié
> 

April 17, 2007
Robert Fraser Wrote:
> > First, D is a new language.The official library is Phobos. Why another library how Tango that is not compatible with Phobos? Because Tango is opensource and the comunity can develop the library?

Phobos was originally written by Walter Bright to provide a working library for DMD.  Several attempts have been made to replace this library, the latest of which is Tango; all were community driven.

> > 
> > Why not a concept how java for example, where we have only one big family of class?

That's what Tango is going for.

> > 
> > Fundametals differences between Phobos and Tango?

Apart from who implemented what, when, Phobos implements the "minimalist" approach, which I like, while Tango implements a "heavy-weight classes with everything" approach, which some people like.

Fortunately, we have both libraries available for D, and I think the duality is definitely conducive to the language's development.  I can also say that it hasn't been a problem by virtue of the fact that a program may use *either* library *or* both according to your preferences.

If you're downloading someone else's code, having Tango and also Phobos on your computer would probably take less than 50mb, which is insignificant really.
April 17, 2007
Dan wrote:
> Fortunately, we have both libraries available for D, and I think the duality is definitely conducive to the language's development.  I can also say that it hasn't been a problem by virtue of the fact that a program may use *either* library *or* both according to your preferences.

Both? How do you use both Phobos and Tango in one program? I thought they were incompatible.
April 17, 2007
Bradley Smith Wrote:
> Both? How do you use both Phobos and Tango in one program? I thought they were incompatible.

Oh.  Well then, My Bad(tm).


April 17, 2007
Bradley Smith wrote:
> Dan wrote:
>> Fortunately, we have both libraries available for D, and I think the duality is definitely conducive to the language's development.  I can also say that it hasn't been a problem by virtue of the fact that a program may use *either* library *or* both according to your preferences.
> 
> Both? How do you use both Phobos and Tango in one program? I thought they were incompatible.

At their core, they are incompatible, because their implementations of Object and such are incompatible.

There is an almost-existent library, tangobos, that allows most Phobos software to compile over Tango. I'm going to get that released properly Any Day Now [tm]. (It exists, but I'm very busy today, don't have time to do everything)

 - Gregor Richards
April 18, 2007
Gregor Richards wrote:
> Bradley Smith wrote:
>> Dan wrote:
>>> Fortunately, we have both libraries available for D, and I think the duality is definitely conducive to the language's development.  I can also say that it hasn't been a problem by virtue of the fact that a program may use *either* library *or* both according to your preferences.
>>
>> Both? How do you use both Phobos and Tango in one program? I thought they were incompatible.
> 
> At their core, they are incompatible, because their implementations of Object and such are incompatible.
> 
> There is an almost-existent library, tangobos, that allows most Phobos software to compile over Tango. I'm going to get that released properly Any Day Now [tm]. (It exists, but I'm very busy today, don't have time to do everything)
> 
>  - Gregor Richards

Tangobos will be great.  Can't wait.
How are you going to deal with toString/toUtf8?

--bb

April 18, 2007
Dlé wrote:
> Hello people!
> 
> I'm working and studing this new (for me :-) ) language. I have some questions and i think your opinion is so precious for me.
> 
> First, D is a new language.The official library is Phobos. Why another library how Tango that is not compatible with Phobos? Because Tango is opensource and the comunity can develop the library?
> 
> Why not a concept how java for example, where we have only one big family of class?
> 
> Fundametals differences between Phobos and Tango?
> 
> Tank's!
> 
> I wait your opinions!
> 
> Dié
> 

It is rather unfortunate having both. Ideally Tango should be a stand-alone library that is an optional (and useful) extra. [Aside: is it possible to get the incompatible code in some way included in Phobos so they can run alongside happily? - are the incompatibilities in Tango enough to break large portions of Phobos if they were moved to it?]

They are incompatible however, forcing anyone developing to choose between the two and fragmenting libraries where developers haven't explicitly supported both.
April 18, 2007
Daniel Giddings wrote:
> Dlé wrote:
>> Hello people!
>>
>> I'm working and studing this new (for me :-) ) language. I have some questions and i think your opinion is so precious for me.
>>
>> First, D is a new language.The official library is Phobos. Why another library how Tango that is not compatible with Phobos? Because Tango is opensource and the comunity can develop the library?
>>
>> Why not a concept how java for example, where we have only one big family of class?
>>
>> Fundametals differences between Phobos and Tango?
>>
>> Tank's!
>>
>> I wait your opinions!
>>
>> Dié
>>
> 
> It is rather unfortunate having both. Ideally Tango should be a stand-alone library that is an optional (and useful) extra. [Aside: is it possible to get the incompatible code in some way included in Phobos so they can run alongside happily? - are the incompatibilities in Tango enough to break large portions of Phobos if they were moved to it?]
> 
> They are incompatible however, forcing anyone developing to choose between the two and fragmenting libraries where developers haven't explicitly supported both.

From what I'm guessing based on what Gregor said, his "Tangobos" will be based on Tango, but will allow you from a Tango app to do things like "import std.string;"

How he's going about it... I don't know.  I think you pretty much have to create a modified copy of the Phobos source tree with all instances of toString changed to toUtf8.  Then you need to make a compatibility std.gc module that delegates all the heavy lifting to Phobos.  toString to toUtf8 should be pretty easy to automate with sed/perl/std.regex. The std.gc stuff used in phobos looks pretty minimal.  Just file.d,outbuffer.d,stdio.d, and zlib.d seem to call the gc directly.

Although toString is also a standalone function in addition to being a method on Phobos' object.  So I guess that makes it a little trickier to translate.

Oh, and there are exceptions to deal with too.  And probably a few more things I haven't thought of but Gregor is knee-deep in trying to get working.

--bb
April 18, 2007
Bill Baxter wrote:

> Gregor Richards wrote:
>> Bradley Smith wrote:
>>> Dan wrote:
>>>> Fortunately, we have both libraries available for D, and I think the duality is definitely conducive to the language's development.  I can also say that it hasn't been a problem by virtue of the fact that a program may use *either* library *or* both according to your preferences.
>>>
>>> Both? How do you use both Phobos and Tango in one program? I thought they were incompatible.
>> 
>> At their core, they are incompatible, because their implementations of Object and such are incompatible.
>> 
>> There is an almost-existent library, tangobos, that allows most Phobos software to compile over Tango. I'm going to get that released properly Any Day Now [tm]. (It exists, but I'm very busy today, don't have time to do everything)
>> 
>>  - Gregor Richards
> 
> Tangobos will be great.  Can't wait.
> How are you going to deal with toString/toUtf8?
> 
> --bb

If you look at the tango object.di, there is a version(PhobosCompatibility) block which aliases toUTF8->toString
« First   ‹ Prev
1 2 3 4