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)

Reply via email to