On Sun, 15 Jul 2012 17:36:28 -0700, Jonathan M Davis <[email protected]> wrote:

On Sunday, July 15, 2012 17:23:44 Adam Wilson wrote:
I guess I just see it as differing definitions of "stable". For example,
dsimcha was here not twenty hours ago praising D for how stable it's
become.

I think this is a pretty good summation of stable in the community project
context:
http://www.modernperlbooks.com/mt/2009/06/what-does-stable-mean.html

Note: We meet all criteria for stable.

What I want to see is dmd having fully implemented all of the features in TDPL
(e.g. multiple alias thises) and sorted out all of the major design or
implementation issues (e.g. the issues with const and Object). After that, D2 has been fully implemented, and we can look at adding new features if we want to and restricting those as well as any breaking changes that we need to make to a different branch which only gets merged into the main branch in certain
releases.

Arguably, we've been adding too many new features (e.g. new lambda syntax and
SIMD support), given that we're supposed to be making everything that we
already have work properly, but those features haven't been breaking changes, and presumably forcing Walter to just fix bugs wouldn't be all that pleasant for him. But until we've fully implemented what we have, I think that it's just going to slow us down to little benefit to change the release model. Once we have, _then_ I'd love to see a release model which promotes major vs minor releases and the like, because then we can evolve the language and library as appropriate while still maintaining stable releases which programmers can rely
on for long periods of time without worrying about breaking changes and
whatnot.

- Jonathan M Davis

I think the problem is that in the real world, that state is somewhat unlikely. For example, Walter is currently working on COFF support, this is arguably a new feature (we already can make programs work on Windows). Programmers aren't machines and fixing bugs all day is boring, we want to do the fun stuff, in this case, new features. It just so happens that it's the fun stuff that makes fixing bugs bearable. I don't think it's fair of us to demand that Walter only fix bugs, besides, COFF support is a HIGHLY requested new feature, he is just supposed to ignore them?

It is never easy deciding which new features to add versus which bugs to fix, but that's the beauty of this model, you don't have to. You just do both.

--
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/

Reply via email to