On Wednesday, 24 September 2014 at 07:43:49 UTC, Walter Bright
wrote:
On 9/23/2014 11:28 PM, Manu via Digitalmars-d wrote:
1. Constant rejection of improvements because "OMG breaking
change!".
Meanwhile, D has been breaking my code on practically every
release
for years. I don't get this, reject changes that are
deliberately
breaking changes which would make significant improvements,
but allow
breaking changes anyway because they are bug fixes? If the
release
breaks code, then accept that fact and make some real proper
breaking
changes that make D substantially better! It is my opinion
that D
adopters don't adopt D because it's perfect just how it is and
they
don't want it to improve with time, they adopt D *because they
want it
to improve with time*! That implies an acceptance (even a
welcoming)
of breaking changes.
I agree completely. I would say that the #1 problem in D is the
paranoid fear of breaking backwards compatibility. I said that in
my 2013 talk. It is still true today.
Sociomantic says, PLEASE BREAK OUR CODE! Get rid of the old
design bugs while we still can.
For example: We agreed *years* ago to remove the NCEG operators.
Why haven't they been removed yet?
As I said earlier in the year, one of the biggest ever breaking
changes was the fix for array stomping, but it wasn't even
recognized as a breaking change!
Breaking changes happen all the time, and the ones that break
noisily are really not a problem.
"Most D code is yet to be written."
What change in particular?
I've got a nasty feeling that you misread what he wrote. Every
time we say, "breaking changes are good", you seem to hear
"breaking changes are bad"!
The existing D corporate users are still sympathetic to breaking
changes. We are giving the language an extraordinary opportunity.
And it's incredibly frustrating to watch that opportunity being
wasted due to paranoia.
We are holding the door open. But we can't hold it open forever,
the more corporate users we get, the harder it becomes.
Break our code TODAY.
"Most D code is yet to be written."