Community

What is the state of play with D1.0 vs. D2.0?
Is D1.0 a dead-end and D2.0 should be used for future projects?
Is D2.0 stable enough for use at the present?
Is Tango for D2.0 at a level of D1.0 and can be used now?
Is DWT ready for D2.0 now?
Regards, mike.

Mike James escribió:
> What is the state of play with D1.0 vs. D2.0?
>
> Is D1.0 a dead-end and D2.0 should be used for future projects?
>
> Is D2.0 stable enough for use at the present?
>
> Is Tango for D2.0 at a level of D1.0 and can be used now?
>
> Is DWT ready for D2.0 now?
>
>
> Regards, mike.
I don't know why a lot of people see D1.0 as a dead-end. It's a stable
language. It won't get new features. It won't change. It'll probably
receive bug fixes. It works. It gets the job done. You can use it and be
sure than in a time all of what you did will still be compatible with
"newer" versions of D1.
D2 is not stable enough yet, in my opinion. It's an experiment. So you
use it just for experimentation. You woudln't write a library for it if
you know that in two weeks some of what you did will not compile anymore.
I see D1 as something finished and working and for which it's worth
writing libraries and tools, because who knows when a stable, final D2
version will be out there. And when it'll finally be here, what? You'd
say it's a dead end because D3 is out for experiment? :-P

Ary Borenszweig Wrote:
> Mike James escribió:
> > What is the state of play with D1.0 vs. D2.0?
> >
> > Is D1.0 a dead-end and D2.0 should be used for future projects?
> >
> > Is D2.0 stable enough for use at the present?
> >
> > Is Tango for D2.0 at a level of D1.0 and can be used now?
> >
> > Is DWT ready for D2.0 now?
> >
> >
> > Regards, mike.
>
> I don't know why a lot of people see D1.0 as a dead-end. It's a stable
> language. It won't get new features. It won't change. It'll probably
> receive bug fixes. It works. It gets the job done. You can use it and be
> sure than in a time all of what you did will still be compatible with
> "newer" versions of D1.
No. It's not stable.
Try to build last Tango and DWT releases with D1.041 and you will get the problems.
That is the causes a lot of people ask such questions. And I too. Not because D1.0 dead-end. But because I can't understand what is "stable" toolset and how long it would be "stable". D+Tango+DWT is a good example.
Regards, valeri.

ValeriM wrote:
> Ary Borenszweig Wrote:
>
>> Mike James escribi�:
>>> What is the state of play with D1.0 vs. D2.0?
>>>
>>> Is D1.0 a dead-end and D2.0 should be used for future projects?
>>>
>>> Is D2.0 stable enough for use at the present?
>>>
>>> Is Tango for D2.0 at a level of D1.0 and can be used now?
>>>
>>> Is DWT ready for D2.0 now?
>>>
>>>
>>> Regards, mike.
>> I don't know why a lot of people see D1.0 as a dead-end. It's a stable
>> language. It won't get new features. It won't change. It'll probably
>> receive bug fixes. It works. It gets the job done. You can use it and be
>> sure than in a time all of what you did will still be compatible with
>> "newer" versions of D1.
>
> No. It's not stable.
> Try to build last Tango and DWT releases with D1.041 and you will get the problems.
"It's a stable language."
Note the use of the word "language."
What you're referring to are bugs in the compiler. It happens.
-- Daniel

Daniel Keep wrote:
>
> ValeriM wrote:
>> Ary Borenszweig Wrote:
>>
>>> Mike James escribi�:
>>>> What is the state of play with D1.0 vs. D2.0?
>>>>
>>>> Is D1.0 a dead-end and D2.0 should be used for future projects?
>>>>
>>>> Is D2.0 stable enough for use at the present?
>>>>
>>>> Is Tango for D2.0 at a level of D1.0 and can be used now?
>>>>
>>>> Is DWT ready for D2.0 now?
>>>>
>>>>
>>>> Regards, mike.
>>> I don't know why a lot of people see D1.0 as a dead-end. It's a stable
>>> language. It won't get new features. It won't change. It'll probably
>>> receive bug fixes. It works. It gets the job done. You can use it and be
>>> sure than in a time all of what you did will still be compatible with
>>> "newer" versions of D1.
>> No. It's not stable.
>> Try to build last Tango and DWT releases with D1.041 and you will get the problems.
>
> "It's a stable language."
>
> Note the use of the word "language."
>
> What you're referring to are bugs in the compiler. It happens.
>
> -- Daniel
But ValieriM has a point. If I code, say, a library in D 1.041 only to
find out that in a couple of months it won't compile anymore in D 1.045,
that's not good at all. That's when someone sends a message to the
newsgroups saying "I just downloaded library Foo, but it won't compile
with D 1.045... is it abandoned? Why isn't it maintained? D1 is broken".
The point is, you shouldn't need to maintain libraries for D1 anymore.
Maybe the test suite for D1 should be bigger to cover more cases...

ValeriM Wrote:
[...]
>
> No. It's not stable.
> Try to build last Tango and DWT releases with D1.041 and you will get the problems.
>
But not because of D1.0. It is because of the Tango team
introducing a couple of breaking changes. Frank is working on
updating DWT (or has even fixed that already, not sure)
> That is the causes a lot of people ask such questions. And I too. Not because D1.0 dead-end. But because I can't understand what is "stable" toolset and how long it would be "stable". D+Tango+DWT is a good example.
>
Yeah, but that is life. At some point you need
to change APIs, and then you need to revise the "downstream"
libraries. That takes some time. This no question of dead-end.
Ciao
TomD

On Thu, Mar 26, 2009 at 2:10 PM, Daniel Keep
<daniel.keep.lists@gmail.com> wrote:
>
>
> ValeriM wrote:
>> Ary Borenszweig Wrote:
>>
>>> Mike James escribi�:
>>>> What is the state of play with D1.0 vs. D2.0?
>>>>
>>>> Is D1.0 a dead-end and D2.0 should be used for future projects?
>>>>
>>>> Is D2.0 stable enough for use at the present?
>>>>
>>>> Is Tango for D2.0 at a level of D1.0 and can be used now?
>>>>
>>>> Is DWT ready for D2.0 now?
>>>>
>>>>
>>>> Regards, mike.
>>> I don't know why a lot of people see D1.0 as a dead-end. It's a stable
>>> language. It won't get new features. It won't change. It'll probably
>>> receive bug fixes. It works. It gets the job done. You can use it and be
>>> sure than in a time all of what you did will still be compatible with
>>> "newer" versions of D1.
>>
>> No. It's not stable.
>> Try to build last Tango and DWT releases with D1.041 and you will get the problems.
>
> "It's a stable language."
>
> Note the use of the word "language."
>
> What you're referring to are bugs in the compiler. It happens.
>
> -- Daniel
>
D1 does have some missing features that are in D2, and could be
backported to D1 without breaking any code.
This isn't going to happen for the sake of stability. But if I want to
use some of the new features, I have to get all the cruft that made me
look into D in the first place as well. A major reason I started with
D was because of simple syntax, GC and lack of the const hell.
D2 is no longer a simple language, you have to know all kinds of shit
to be able to use it correctly.
All my projects at the moment are in C++. And TBH I don't see that
changing any time soon. The stuff I did in D no longer works, and I
don't have time to debug the entire thing to figure out how/where the
compiler changed.
And yes, the Phobos vs. Tango (which in turn keeps breaking) situation
of course isn't making things better.

On Thu, 26 Mar 2009 16:23:29 +0300, TomD <t_demmer@nospam.web.de> wrote:
> ValeriM Wrote:
>
> [...]
>>
>> No. It's not stable.
>> Try to build last Tango and DWT releases with D1.041 and you will get the problems.
>>
> But not because of D1.0. It is because of the Tango team
> introducing a couple of breaking changes. Frank is working on
> updating DWT (or has even fixed that already, not sure)
>
>> That is the causes a lot of people ask such questions. And I too. Not because D1.0 dead-end. But because I can't understand what is "stable" toolset and how long it would be "stable". D+Tango+DWT is a good example.
>>
> Yeah, but that is life. At some point you need
> to change APIs, and then you need to revise the "downstream"
> libraries. That takes some time. This no question of dead-end.
>
> Ciao
> TomD
>
True. That's why Tango provides bundles which include compiler and the library in both source and binary form. Bundles exist for stable and trunk revisions and I have never got any problems using them.

== Quote from Ary Borenszweig (ary@esperanto.org.ar)'s article
> Daniel Keep wrote:
> >
> > ValeriM wrote:
> >> Ary Borenszweig Wrote:
> >>
> >>> Mike James escribi�:
> >>>> What is the state of play with D1.0 vs. D2.0?
> >>>>
> >>>> Is D1.0 a dead-end and D2.0 should be used for future projects?
> >>>>
> >>>> Is D2.0 stable enough for use at the present?
> >>>>
> >>>> Is Tango for D2.0 at a level of D1.0 and can be used now?
> >>>>
> >>>> Is DWT ready for D2.0 now?
> >>>>
> >>>>
> >>>> Regards, mike.
> >>> I don't know why a lot of people see D1.0 as a dead-end. It's a stable
> >>> language. It won't get new features. It won't change. It'll probably
> >>> receive bug fixes. It works. It gets the job done. You can use it and be
> >>> sure than in a time all of what you did will still be compatible with
> >>> "newer" versions of D1.
> >> No. It's not stable.
> >> Try to build last Tango and DWT releases with D1.041 and you will get the
problems.
> >
> > "It's a stable language."
> >
> > Note the use of the word "language."
> >
> > What you're referring to are bugs in the compiler. It happens.
> >
> > -- Daniel
> But ValieriM has a point. If I code, say, a library in D 1.041 only to
> find out that in a couple of months it won't compile anymore in D 1.045,
> that's not good at all. That's when someone sends a message to the
> newsgroups saying "I just downloaded library Foo, but it won't compile
> with D 1.045... is it abandoned? Why isn't it maintained? D1 is broken".
> The point is, you shouldn't need to maintain libraries for D1 anymore.
> Maybe the test suite for D1 should be bigger to cover more cases...
Yes, but there's a difference between being broken in some trivial way that
requires a few greps and a recompile and being broken in a way that requires
people to actually review and possibly redesign parts of the code to fix it. I
really don't see how the former is a big deal.

dsimcha wrote:
> == Quote from Ary Borenszweig (ary@esperanto.org.ar)'s article
>> Daniel Keep wrote:
>>> ValeriM wrote:
>>>> Ary Borenszweig Wrote:
>>>>
>>>>> Mike James escribi�:
>>>>>> What is the state of play with D1.0 vs. D2.0?
>>>>>>
>>>>>> Is D1.0 a dead-end and D2.0 should be used for future projects?
>>>>>>
>>>>>> Is D2.0 stable enough for use at the present?
>>>>>>
>>>>>> Is Tango for D2.0 at a level of D1.0 and can be used now?
>>>>>>
>>>>>> Is DWT ready for D2.0 now?
>>>>>>
>>>>>>
>>>>>> Regards, mike.
>>>>> I don't know why a lot of people see D1.0 as a dead-end. It's a stable
>>>>> language. It won't get new features. It won't change. It'll probably
>>>>> receive bug fixes. It works. It gets the job done. You can use it and be
>>>>> sure than in a time all of what you did will still be compatible with
>>>>> "newer" versions of D1.
>>>> No. It's not stable.
>>>> Try to build last Tango and DWT releases with D1.041 and you will get the
> problems.
>>> "It's a stable language."
>>>
>>> Note the use of the word "language."
>>>
>>> What you're referring to are bugs in the compiler. It happens.
>>>
>>> -- Daniel
>> But ValieriM has a point. If I code, say, a library in D 1.041 only to
>> find out that in a couple of months it won't compile anymore in D 1.045,
>> that's not good at all. That's when someone sends a message to the
>> newsgroups saying "I just downloaded library Foo, but it won't compile
>> with D 1.045... is it abandoned? Why isn't it maintained? D1 is broken".
>> The point is, you shouldn't need to maintain libraries for D1 anymore.
>> Maybe the test suite for D1 should be bigger to cover more cases...
>
> Yes, but there's a difference between being broken in some trivial way that
> requires a few greps and a recompile and being broken in a way that requires
> people to actually review and possibly redesign parts of the code to fix it. I
> really don't see how the former is a big deal.
When I download a library for Java, Python or C#, I download it,
reference it and it works. If I had to fix something for it to work, I
woudldn't use it. Mainly because to fix it I'd had to understand the
code, and I just want to understand the interface.
If you have to modify a library when you download it just to make it
work (not to tweak it), that's a huge problem for me.