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