Thread overview | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Chris | 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Chris | 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Chris | 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | > 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Chris | 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to jerro | 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to jerro | 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Chris | 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 |
Copyright © 1999-2021 by the D Language Foundation