D2 port of Tango

Jacob Carlborg doob at me.com
Tue Oct 18 23:32:52 PDT 2011


On 2011-10-18 20:09, Jonathan M Davis wrote:
> On Tuesday, October 18, 2011 10:27 Denis Shelomovskij wrote:
>> 18.10.2011 8:00, Caligo пишет:
>>> On Mon, Oct 17, 2011 at 11:52 PM, SiegeLord<none at none.com
>>>
>>> <mailto:none at none.com>>  wrote:
>>> I just wanted to get the word out about a little project me and a
>>> few other people been working on for the few past months, in case
>>> anyone feels like helping out (or just as an FYI). This project is
>>> the D2 port of the Tango framework library. You can read about it
>>> here:
>>>
>>> https://github.com/haskelSiegeLord/Tango-D2
>>> <https://github.com/SiegeLord/Tango-D2>
>>>
>>> We are currently a little more than half way done in terms of
>>> modules fiddled with. Currently there are 181 modules ported out of
>>> approximately 343 (give or take 20). Currently only the dmd compiler
>>> and Linux platform are supported... but obviously we want to get all
>>> the other platforms/compilers as time goes on. I'm guessing at the
>>> current rate of porting we'll be done in about half a year.
>>>
>>> Now, the project is actually two projects in one.
>>>
>>> The first project is a D2 port proper that tries to keep API
>>> semantics the same as the D1 original. I preside over this aspect,
>>> and you can see the rough porting guidelines in the repository. This
>>> is the 'd2port' branch in my repository.
>>>
>>> The second project is a more ambitious effort to rewrite some
>>> aspects of Tango without preserving semantics or anything. mtachrono
>>> presides over this aspect, so you can talk to him about the
>>> motivations behind it. This is the 'master' branch in my repository.
>>>
>>> That's all. Cheers.
>>>
>>> -SiegeLord
>>>
>>> Why? What's the point? Why not work on Phobos instead?
>>
>> +1 to Caligo. I agree that Tango is a good library (and was the best one
>> for D1) but, IMHO, porting it to D2 is a bad idea.
>> I'm the one who has a big D1+Tango project and I'd better rewrite it
>> with D2+Phobos, because:
>>
>> 0. I don't want to have a "two standard libraries problem" with D2
>> (which one to select?).
>>
>> 1. Phobos has a better design (Tango is too complicated in some
>> places, has a lot of things I (and a regular programmer IMHO) don't use,
>> and has bad design decisions sometimes - both internal and user API)
>>
>> 2. Phobos has less _critical bugs_ because of better code control
>> (e.g. Tango has memory corruption bug for a very long time in Vector
>> container (#2064)).
>>
>> 3. There is no Andrei Alexandrescu clone to generate that perfect
>> ideas for Tango.
>
> While I would much rather see effort being put into improving Phobos than
> Tango, I think that it's a bit rude to claim that the Tango folks should just
> throw away all of their Tango work and move all of their projects over to
> Phobos. Wanting to be able to easily port D1 programs to D2 is a completely
> valid thing to want to do, and while I think that new projects should use
> Phobos since it's the standard library, there's nothing wrong with using a
> different library if you want to. If SiegeLord and others want to spend time
> porting Tango to D2, it's their right to be able to do so. Ostracizing Tango
> and its users is just going to make the D2 community poorer. And thanks to
> druntime, it's now perfectly possible to mix Phobos and Tango code if you
> want to (though the differences in design will likely make that not always
> work as well as might be nice), so the situation is not the same as it was
> for D1 when Phobos sucked, and it and Tango didn't work together.
>
> - Jonathan M Davis

Even if one would use Phobos, Tango still have things to offer over 
Phobos. For example, support for OpenSSL, cryptographic, a net library 
that doesn't depend on external libraries and a better XML library.

-- 
/Jacob Carlborg


More information about the Digitalmars-d-announce mailing list