Is it time for D 3.0?
Vladimir Panteleev
thecybershadow.lists at gmail.com
Sun Mar 29 05:29:47 UTC 2020
On Friday, 27 March 2020 at 15:56:40 UTC, Steven Schveighoffer
wrote:
> 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.
I think this is doable with some preparation.
1. LTS branches. Something like every 5 years, maintained for 10
years.
Our current system for point-releases is kind of pointless
because we NEVER issue a point-release for a non-current major
version.
The most important aspect of updating LTS releases is platform
support. It seems that macOS versions breaking DMD or
DMD-produced binaries is a regular occurrence, with Linux/FreeBSD
not far behind.
It would be a good time to reconsider SemVer as well.
2. Integrating D version management into build tools. E.g.
dub.sdl would allow declaring which language version a program
was written for, and Dub could then download and use that
particular compiler version. (IMHO Digger's library component is
in a good place for this, with the bonus of being able to select
non-release versions such as master commits, PRs, or forks.)
3. All language changes should be done in such a way that
libraries could still be written, with a reasonable amount of
effort, to support compilers before and after the change. This
greatly helped Python's 2/3 transition.
More information about the Digitalmars-d
mailing list