Ghosting a language feature
James Blachly
james.blachly at gmail.com
Tue Sep 22 00:39:38 UTC 2020
On 9/21/20 7:15 AM, Mike Parker wrote:
> Our current release schedule, despite being divided into "major" and
> "patch" releases, is just a string of incremental releases every two
> months. There's nothing to differentiate one major release from another
> -- it's all D2 -- and some may feel pressure to update to the latest
> major compiler release as often as possible, risking the headaches of
> breakage, regressions, and with the remedy of only one patch release
> before it's time to do it again.
>
> This situation spawns discussions of D3, std.v2, and now this.
>
> Watching what C++, and especially Java, are doing these days, I feel
> like our approach is antiquated. What we need is an obvious way to
> delineate the feature set of any version of both the language and the
> standard library, and create a path that allows for a more leisurely,
> less risky style of updates.
>
...
> My 2 cents.
All excellent comments. It is worth bringing up Rust here, which also
uses year-edition as a demarcation point, but does so slightly
differently than C++.
Interestingly, new features are delivered continuously (much as we do
with D), until such time that a new "edition" is frozen such that the
feature set at that time is designated "2018" (or whatever) and is a
well-defined point-in-time that you may use safely in the future. If you
want new features, you can use them but you must use stable, beta, or
nightly.
https://doc.rust-lang.org/book/appendix-05-editions.html
https://doc.rust-lang.org/book/appendix-07-nightly-rust.html
I could see "D 2021 edition" :)
More information about the Digitalmars-d
mailing list