Isn't it about time for D3?
jmh530 via Digitalmars-d
digitalmars-d at puremagic.com
Tue Jun 13 06:29:45 PDT 2017
On Tuesday, 13 June 2017 at 12:23:19 UTC, ketmar wrote:
> Sebastien Alaiwan wrote:
>
>> My point precisely was that "not splitting D1/D2" might
>> correspond to "doing things right".
>
> "not splitting" here means "we're stuck with D1". deprecation
> cycle of several years (not counting the time required to
> actually *start* the process) means "no evolution".
>
> i must make myself clear here, i guess: i value "good language"
> way more than "stable language". i absolutely don't mind fixing
> my code if it makes it better/more clear/etc. while it's hard
> to sell "constantly evolving" language to Big Enterprise
> Wheels, not making breaking changes means cloning worst C++
> feature. ;-)
Companies clearly value C++'s backwards compatibility. However,
if there's one lesson from the D1/D2 or the Python 2/Python 3
split, it's that it's hugely disruptive (so much so that I find
the idea of D3, at the moment, to be such an obviously terrible
idea that I really wanted to avoid commenting on this thread).
Nevertheless, C++ is still a constantly evolving language. C++14
looks a lot different from C++98. Maintaining backwards
compatibility, however, has significantly increased the
complexity.
Thus, I think there's a trade-off. Breaking changes that improve
the language may be good in certain circumstances, but
Walter/Andrei should try to get the buy-in from big D users
beforehand (even with a depreciation cycle). Requiring some kind
of broad support from big D users would mean that breaking
changes only happen if the the costs of breaking changes are
smaller than the improvement to the language.
More information about the Digitalmars-d
mailing list