Please be more careful when changing the language behavior

mw mingwu at gmail.com
Wed Jun 3 04:21:08 UTC 2020


On Wednesday, 3 June 2020 at 02:25:23 UTC, Walter Bright wrote:
> On 6/1/2020 11:53 PM, mw wrote:
>> If you seriously want to fix the multiple inheritance problem: 
>> freeze D2 prod, and make D3 dev, I also mean it seriously.
>
>
> Yeah, well, even more breakage :-/

The difference is: for a new *major* version release, breakage 
are more acceptable and tolerable by the users. Python 3  doesn’t 
have backward compatibility with Python 2, and there’s even a 
tool called ‘2to3’ coming with Python 3 to help people migrate. 
It’s a hard decision, but in the long run, it helps Python to be 
a more consistent language.

With minor version release, it’s difficult to get things fixed, 
both for you and for the language users. Just as both parties 
have expressed in this very thread.

In my view, D2 has already been feature rich enough for people to 
do their work. What they want most is compiler stability, not any 
more new language features. By freezing D2, they will have a more 
stable platform to get their work done without worrying about 
breakage. And for you, it will buy you more time, e.g. a few 
years, to design carefully the next major features / fixes you 
want introduce in D3.


Currently,
https://dlang.org/changelog/release-schedule.html

— New release are published every two months, on the first day of 
every uneven month.
— Two weeks before a new release master is merged into stable and 
a first beta is released.

I think this release schedule is too frequent for a mature v2 
language, it’s not application software, but language compiler!


No wonder kinke said:

> Master is waaay too unstable IMHO. I definitely wouldn't use it 
> for projects of mine, regardless how small.


I hope you can think about this D2 / D3 suggestion.




More information about the Digitalmars-d mailing list