Final by default?
Xavier Bigand
flamaros.xavier at gmail.com
Thu Mar 13 09:19:38 PDT 2014
Le 13/03/2014 02:13, Walter Bright a écrit :
> On 3/12/2014 5:40 PM, Vladimir Panteleev wrote:
>> Doesn't this sort of seal the language's fate in the long run, though?
>> Eventually, new programming languages will appear which will learn
>> from D's
>> mistakes, and no new projects will be written in D.
>>
>> Wasn't it here that I heard that a language which doesn't evolve is a
>> dead
>> language?
>>
>> From looking at the atmosphere in this newsgroup, at least to me it
>> appears
>> obvious that there are, in fact, D users who would be glad to have
>> their D code
>> broken if it means that it will end up being written in a better
>> programming
>> language. (I'm one of them, for the record; I regularly break my own
>> code anyway
>> when refactoring my library.) Although I'm not advocating forking off
>> a D3 here
>> and now, the list of things we wish we could fix is only going to grow.
>
> There are costs and benefits:
>
> Benefits:
>
> 1. attracting new people with better features
>
> Costs:
>
> 2. losing existing users by breaking their code, losing new people
> because of a reputation for instability
>
> There aren't clearcut answers. It's a judgement call. The
> final-by-default has very large breakage costs, and its improvement is
> minor and achievable by other means.
IMO the major issue with changes is that they are propagated on new
versions of dmd with other fixes. Why compiler fixes aren't back-ported
on some old dmd versions? This will let opportunity to get fixes without
breaking changes when a D users is to close of making a release.
I know it's a lot additional work for the D community but it will offer
more choices.
On other idea is to create a major revision of D each year (maybe close
after dconf) and present the previous one as the stable. The stable will
receive all fixes and non-breaking changes.
This rhythm of one version per year will decrease in the time due to a
lower necessity to make breaking changes.
Doing things like that will allow companies to migrate to the next
stable D version progressively (with version checks).
We did something similar at my job with Qt, because we start with the
version 4.8 and necessitas (unofficial android support). At the same
time we had worked on 5.0 alpha integration (I did some bugs reports to
help his development)
More information about the Digitalmars-d
mailing list