November 30, 2012
Is there a way of telling when things in the library will calm down and it'll be save to develop in D and update old code?

I started with D2 version 2.051 and created a medium-sized project fairly quickly, but now I have a lot of deprecated methods in my code. I couldn't keep up with all the changes and I have been hesitant to update my code because there are still a lot of "Will be removed in September/November/December ..." warnings in the library. Much that I like D, I simply cannot develop in D at the moment due to the constant changes in the Phobos library. I have this sinking feeling that this is killing the language.
November 30, 2012
On 11/30/12 10:04 AM, Chris wrote:
> Is there a way of telling when things in the library will calm down and
> it'll be save to develop in D and update old code?
>
> I started with D2 version 2.051 and created a medium-sized project
> fairly quickly, but now I have a lot of deprecated methods in my code. I
> couldn't keep up with all the changes and I have been hesitant to update
> my code because there are still a lot of "Will be removed in
> September/November/December ..." warnings in the library. Much that I
> like D, I simply cannot develop in D at the moment due to the constant
> changes in the Phobos library. I have this sinking feeling that this is
> killing the language.

Thanks for this testimony.

Andrei
November 30, 2012
On Friday, 30 November 2012 at 15:04:02 UTC, Chris wrote:
> I have this sinking feeling that this is killing the language.

I feel your pain. I often wonder if the Phobos developers actually use D.
November 30, 2012
Chris:

> I started with D2 version 2.051 and created a medium-sized project fairly quickly, but now I have a lot of deprecated methods in my code. I couldn't keep up with all the changes and I have been hesitant to update my code because there are still a lot of "Will be removed in September/November/December ..." warnings in the library. Much that I like D, I simply cannot develop in D at the moment due to the constant changes in the Phobos library. I have this sinking feeling that this is killing the language.

Phobos is young, and several of its parts were designed by one or very few persons. So I think some changes are inevitable. Deprecation messages have the purpose to reduce the pain of updated. So those are not killing the language.

In Phobos some changes are planned or are expected, like in std.algorithm.max/min, reduce, etc.

Bye,
bearophile
November 30, 2012
> In Phobos some changes are planned or are expected, like in std.algorithm.max/min, reduce, etc.

What changes to std.algorithm.max/min are expected?
November 30, 2012
On 2012-11-30 16:04, Chris wrote:
> Is there a way of telling when things in the library will calm down and
> it'll be save to develop in D and update old code?
>
> I started with D2 version 2.051 and created a medium-sized project
> fairly quickly, but now I have a lot of deprecated methods in my code. I
> couldn't keep up with all the changes and I have been hesitant to update
> my code because there are still a lot of "Will be removed in
> September/November/December ..." warnings in the library. Much that I
> like D, I simply cannot develop in D at the moment due to the constant
> changes in the Phobos library. I have this sinking feeling that this is
> killing the language.

You can either stay at a given version of D. Or you could use something more stable than Phobos. Tango, for example, is very stable. The problem is that it doesn't receive much changes at all.

https://github.com/SiegeLord/Tango-D2
http://www.dsource.org/projects/tango/docs/current/

-- 
/Jacob Carlborg
November 30, 2012
jerro:

> What changes to std.algorithm.max/min are expected?

Some time ago I have asked for some changes in max/min:
http://d.puremagic.com/issues/show_bug.cgi?id=4705

Later Andrei has shown related different functions in two of his recent talks. I don't know what Andrei now thinks about such changes.

Bye,
bearophile
November 30, 2012
On Friday, 30 November 2012 at 17:00:15 UTC, bearophile wrote:
> jerro:
>
>> What changes to std.algorithm.max/min are expected?
>
> Some time ago I have asked for some changes in max/min:
> http://d.puremagic.com/issues/show_bug.cgi?id=4705
>
> Later Andrei has shown related different functions in two of his recent talks. I don't know what Andrei now thinks about such changes.
>
> Bye,
> bearophile

Those proposed changes to min and max look useful. They shouldn't break much code either.
November 30, 2012
There have been quite a few changes since 2.051 and I cannot stick to that version, because I would introduce more deprecated code. I wanted to update my code but saw in the library that again loads of methods were scheduled for deprecation. So what's the point?

Changes are necessary and I think they are reasonable (like the regex algorithm), but as a developer who uses D, you need some sort of security, i.e. that your code won't break in a few months' time. I really appreciate the fantastic work on D, but sometimes it seems to me like a "code laboratory" where programmers test certain ideas, algorithms, approaches etc, which would be fine for a college project. But if you have to use and work with the library to develop real world applications, it's a nightmare. If this doesn't change, I fear D will never take off. Most frameworks at least "tolerate" deprecated functions until developers have time to update their code.

November 30, 2012
Chris:

> But if you have to use and work with the library to develop real world applications, it's a nightmare. If this doesn't change, I fear D will never take off.

It's useful to know your pain experience, but please don't turn this thread into FUD (http://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt ). Possible solutions only come from more rational discussions.

In another thread people are discussion a solution that will help you, a "Stable D", updated only once in a time, like every 6-8-12 months, that has no know regressions and where only nonbreaking changes are allowed (here Phobos modules deprecations are probably to be intended as breaking changes).

Bye,
bearophile
« First   ‹ Prev
1 2 3 4 5 6
Top | Discussion index | About this forum | D home