View mode: basic / threaded / horizontal-split · Log in · Help
November 30, 2012
Deprecated Library Functions / Methods
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
Re: Deprecated Library Functions / Methods
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
Re: Deprecated Library Functions / Methods
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
Re: Deprecated Library Functions / Methods
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
Re: Deprecated Library Functions / Methods
> 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
Re: Deprecated Library Functions / Methods
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
Re: Deprecated Library Functions / Methods
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
Re: Deprecated Library Functions / Methods
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
Re: Deprecated Library Functions / Methods
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
Re: Deprecated Library Functions / Methods
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
Top | Discussion index | About this forum | D home