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