Thread overview
Why is 2.0 in the works already?
Jun 18, 2007
Stewart Gordon
Jun 18, 2007
Robert Fraser
Jun 18, 2007
Myron Alexander
Jun 18, 2007
Jascha Wetzel
Jun 19, 2007
Georg Wrede
June 18, 2007
After a few years of work, it was only the beginning of this year that we reached 1.0.

Yet there's already been quite a bit of talk about 2.0, and now even an alpha release.

What's going on here?  There's still the majority of d1.0blocker nominees, including such quite serious ones as 302 and 677.  Shouldn't we work towards getting 1.0 finished first?

Stewart. 

June 18, 2007
There'll be branches, so most of the fixes will be applied to both. 2.0 is a way to add more features without breaking 1.0-compliant code.

Stewart Gordon Wrote:

> After a few years of work, it was only the beginning of this year that we reached 1.0.
> 
> Yet there's already been quite a bit of talk about 2.0, and now even an alpha release.
> 
> What's going on here?  There's still the majority of d1.0blocker nominees, including such quite serious ones as 302 and 677.  Shouldn't we work towards getting 1.0 finished first?
> 
> Stewart.
> 

June 18, 2007
Stewart Gordon wrote:
> After a few years of work, it was only the beginning of this year that we reached 1.0.
> 
> Yet there's already been quite a bit of talk about 2.0, and now even an alpha release.
> 
> What's going on here?  There's still the majority of d1.0blocker nominees, including such quite serious ones as 302 and 677.  Shouldn't we work towards getting 1.0 finished first?
> 
> Stewart.

DMD 2.0 is a conceptual change in the handling of parameter and variable constness. I was not following the debate so I don't know all the details but there were a few good cases presented that convinced Walter of the necessity to change things a bit. Thus 2.0.

Regards,

Myron.
June 18, 2007
it's as important to improve the language as to improve it's major implementation. they're two different things, though, and shouldn't mutually block each other's progress.

i was starting out writing the paragraph below, but then it boiled down to the 2 sentences above ;)

dividing development into creation and maintenance, i think tasks from these two categories can and should be interleaved or parallel. that is mainly because the kind of work they require is very different and restricting oneself to one category is restricting the overall efficiency of the development process.
there are exceptions to this where, by creating new things before fixing others, you raise problems to the power of what they would be if they're fixed first, but in many cases the problem sets are completely or largely disjoint. this, to my understanding, is the case in the changes we've seen in D 2.0.
it is the overall feature-set * stability factor that makes the project valuable. you can improve on both sides to improve the project.
particularly the const-complex is a feature that, imho, put D in a not-yet-grown-up state if compared to C++.

Stewart Gordon wrote:
> After a few years of work, it was only the beginning of this year that we reached 1.0.
> 
> Yet there's already been quite a bit of talk about 2.0, and now even an alpha release.
> 
> What's going on here?  There's still the majority of d1.0blocker nominees, including such quite serious ones as 302 and 677.  Shouldn't we work towards getting 1.0 finished first?
> 
> Stewart.
June 19, 2007
Stewart Gordon wrote:
> After a few years of work, it was only the beginning of this year that we reached 1.0.
> 
> Yet there's already been quite a bit of talk about 2.0, and now even an alpha release.
> 
> What's going on here?  There's still the majority of d1.0blocker nominees, including such quite serious ones as 302 and 677.  Shouldn't we work towards getting 1.0 finished first?
> 
> Stewart.

Well, Stewart, I'm as much out of the loop as anybody. So, all I can respond to this with is pure conjecture, personal beliefs, and a 5+ year history in this NG.

Looks to me like Walter nailed 1.0 as a result of mob pressure. We were all getting fed up with D continuously staying a moving target. Any serious developer considering D for the company would simply ignore D as long as you couldn't guess a month ahead what's goint into the next release. And at the same time some serious bugs kept on not being fixed. Not to mention a few pets that stayed in the language despite of unanimos and animous resentment from the community.

So, D1.0 came out. IIRC, it was a pretty arbitrary decision, based on a date, never a feature set becoming completed. It would've been quite ok but for the fact that, precisely at that instant the things about meta programming got seeded and instantly gained momentum beyond anybody's expectations. And, just when that almost got settled, we then got Andrei in the team, and avenues to heaven suddenly became within actual reach.

You and I both know that when developing a major app, we tend to fix first the interesting and challenging issues, and only after everything else is done, then to tend to the mundane, small, and labourious things. While Walter is superhuman, seems he's still got a few human traits left. (No offense here, Senna and Schumacher weren't perfect either.)


Finally, we have to remember that Walter is doing this frackin' alone. There are few other persons who could've handled it at all, and all along he's even keeping his marriage intact. There's a bullet proof man for you if I ever saw one!

If it were in my power, I'd pay for a couple of talented programmers to debug and finish D1.0 for Walter, so he could give 100% to D2 with Andrei.

But frankly, I'm really getting concerned with this issue. D is going down on Tiobe, the regular professional developer (who should be our concern number one, by a wide margin(!)) is getting increasingly bewildered as to what version to use, and whether it is at all feasible to jump an erratically moving fast train for dependable access to his target.

And it's not only a matter of sharing resources between D1 and D2, it's also a matter of presenting the entire setup to the new comer. There really ought to be some web pages carefully and _prominently_ describing what to do if one belongs to the (for us remote) group of Actual Users of the language.