Is it time for D 3.0?
zoujiaqing
zoujiaqing at gmail.com
Thu Apr 9 13:48:15 UTC 2020
On Friday, 27 March 2020 at 15:56:40 UTC, Steven Schveighoffer
wrote:
> There have been a lot of this pattern happening:
>
> 1. We need to add feature X, to fix problem Y.
> 2. This will break ALL CODE IN EXISTENCE
> 3. OK, cancel the fix, we'll just live with it.
>
> Having a new branch of the compiler will provide a way to keep
> D2 development alive while giving a playground to add new
> mechanisms, fix long-existing design issues, and provide an
> opt-in for code breakage.
>
> Some issues I can think of:
>
> 1. The safe by default debate
> 2. pure by default
> 3. nothrow by default
> 4. String interpolation DIP
> 5. auto-decoding
> 6. range.save
> 7. virtual by default
> 8. ProtoObject
>
> Other languages evolve much quicker than D, but break things
> only in major updates. D seems to "sort of" break things,
> there's always a risk in every release. We try to be
> conservative, but we have this horrible mix of deciding some
> features can break things, while others are not allowed to, and
> there's no clear guide as to which breakage fits in which
> category.
>
> If we went to a more regular major release schedule, and
> decided for a roadmap for each major release what features
> would be included, it would allow much better planning, and
> much more defensible breakage of code. If you know that your
> code will only compile with D2.x, and you're fine with that,
> then great, don't upgrade to D3.x. If you desperately want a
> feature, you may have to upgrade to D3.x, but once you get
> there, you know your code is going to build for a while.
>
> We could also not plan for many major releases, but at least
> move to D3 for some major TLC to the language that is held back
> to prevent breakage.
>
> I work occasionally with Swift, and they move very fast, and
> break a lot of stuff, but only in major versions. It's a bit
> fast for my taste, but it seems to work for them. And they get
> to fix issues that languages like C++ might have been stuck
> with forever.
>
> The biggest drawback is that we aren't a huge language, with
> lots of manpower to keep x branches going at once.
>
> I just wanted to throw it out as a discussion point. We spend
> an awful lot of newsgroup server bytes debating things that to
> me seem obvious, but have legitimate downsides for not breaking
> them in a "stable" language.
>
> -Steve
Thank you Steve!
I want to upgrade to dlang 3.0 and need change it:
1. ARC for GC is default
2. So fast json library
3. Async and await for D
4. Organize standard library
-Brian
More information about the Digitalmars-d
mailing list