On Tuesday, 18 March 2014 at 18:11:27 UTC, dude wrote:
Nobody uses D, so worrying about breaking backwards compatibly
for such an obvious improvement is pretty funny:)
I kind of agree with you if it happens once and is a sweeping
change that fix the syntactical warts as well as the semantical
ones.
Lua breaks backwards compatibility at every version. Why is it
not a problem? If you don't want to upgrade, just keep using
the older compiler! It isn't like it ceased to exist--
It is a problem because commercial developers have to count hours
and need a production compiler that is maintained.
If your budget is 4 weeks of development, then you don't want
another 1 week to fix compiler induced bugs.
Why?
1. Because you have already signed a contract on a certain amount
of money based on estimates of how much work it is. All extra
costs are cutting into profitability.
2. Because you have library dependencies. If a bug is fixed in
library version 2 which requires version 3 of the compiler, then
you need to upgrade to the version 3 of the compiler. That
compiler better not break the entire application and bring you
into a mess of unprofitable work.
Is attracting commercial developers important for D? I think so,
not because they contribute lots of code, but because they care
about the production quality of the narrow libraries they do
create and are more likely to maintain them over time. They also
have a strong interest in submitting good bug reports and fixing
performance bottle necks.