On 3/12/2014 8:40 PM, Vladimir Panteleev wrote:
On Thursday, 13 March 2014 at 00:18:06 UTC, Andrei Alexandrescu wrote:
The saying goes, "you can't make a bucket of yogurt without a spoonful
of rennet". The pattern of resetting customer code into the next
version must end. It's the one thing that both current and future
users want: a pattern of stability and reliability.
Doesn't this sort of seal the language's fate in the long run, though?
Keep in mind this isn't an all-or-nothing matter of "From now on, D will
never evolve and never correct past mistakes". It's just a matter of
"What's the right thing for D at this point in time?" Right now, the
answer is "mature and stabilize".
*After* we've gotten there, that's when we'll face a choice of "Ok, so
what now?" Maybe the answer will be "Yes, at this point we have the
resources, userbase, stability, etc such that we can manage doing a
branch to break out of the x, y and z corners we've painted ourselves
into." Or maybe it'll be "Problems x, y and z have either become
mitigated because of a, b and c, or we now have previously-unseen ways
to deal with them non-destructively."
Right now: mature and stabilize. *Then* worry about where to go from
there, breaking vs stagnating.
Eventually, new programming languages will appear which will learn from
D's mistakes, and no new projects will be written in D.
Sure. That's inevitable anyway. The trick is for D to prosper enough for
D-next to be that new language, instead of something unrelated.