Next focus: PROCESS

Rob T rob at ucora.com
Wed Dec 12 13:17:30 PST 2012


On Wednesday, 12 December 2012 at 18:04:43 UTC, Joseph Rushton 
Wakeling wrote:
> It seems to me that while process is clearly very important, 
> what's maybe necessary first is to identify what the actual 
> results of the process are intended to be.  What should a 
> 'stable version' of D actually mean, in practice?
>  What should its lifetime be?  Should there be interim releases 
> in-between stable versions which can introduce e.g. breaking 
> features, and should those be treated only as beta versions or 
> as releases in their own right?  How is that coupled (or 
> decoupled) from releases of the library? etc.
>
> I'd personally rather get those issues addressed out before 
> talking about git methods, which to be honest I suspect will be 
> similar no matter what the release model.
>

Agreed 100%. We're going about this completely ass backwards.

Here's my stab at defining the main points to achieve:

1) We want improved stability and predictability with compiler 
releases to prevent a new release from unexpectedly breaking 
existing D code without significant prior warnings and time to 
prepare for it.

2) Stable releases should remain stable while being maintained, 
which means "bug fixes only".

3) We don't want to cast the language in stone, so new features 
must be allowed to be introduced in a more predictable and 
planned way that allows D programmers to confidently use the new 
features in their production code.

4) We want to allow D to continue to be enhanced in a way that 
allows the D compiler developers to do what they do best, while 
not interfering with the growing D user base who wish to rely on 
relative stability and predictability.

Points 3 and 4 may seem the same, but the important difference is 
that there are two types of D users, those who use the language 
and those who develop the language and compiler (a person may do 
both of course), so the goals and requirements for each group of 
user are different and may conflict.

If I write stuff like this in here, it'll just end up 
disappearing into the black hole.

Can we agree to create a wiki page for defining what the main 
goals are, and what we wish to achieve?

Once we have consensus on what is to be achieved, we can define a 
process and test it to see if it will achieve what we want.

This is a much better approach than trying to build a process to 
achieve something that is not yet defined and agreed on.

--rt


More information about the Digitalmars-d mailing list