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