Hi D!


I'm quite new to D (been here for maybe half a year?) and I'm not sure if what 
I'm about to say is called for, so please forgive me if I'm crossing some line 
here. I just had a thought and I wanted to share it:


I've noticed, during my time here, that D seems to suffer from quite a lot of 
frustration. This frustration in turn seems to stem from periodical annoying 
bugs and regressions etc. There are stories of dedicated developers abandoning 
the ship and things like that. I'm not really in a position to say if this is 
normal or not, but I think at least it's fair to say a lot of poeple are 
frustrated with D(?).

At the same time, what's interesting is that these kinds of bugs can hardly be 
unique to D -- in fact, it would be really weird if these kinds of issues was 
not present in D! (I think so, at least.) Software is complex, and we all know 
bugs are part of the normal course of things. I'd go so far to say bugs are a 
natural part of software.

So why all the frustration?

This lead me to a thought: maybe, just maybe, one thing that causes so much 
frustration, is the fact that D doesn't really seem to have any testing / 
stable branches. Seems to me, and please correct me if I'm wrong, changes made 
to the trunk are released about once every month? And that's it. That's the 
latest version of D.

This is very agressive. Isn't it? Seems to me, many people hold off the latest 
version of D, because it's so agressive.

I think most non-trivial software projects keep one branch that is the "sand 
box"-branch where new features are tried out, and one branch where special care 
is taken to keep it stable. Now, this setup doesn't mean that the software will 
be bug free. The _key_ here is, that once you label a piece of software as 
"testing" or "experimental", bugs are ok! In fact, bugs are to be expected! No 
one can complain! (And if they do, you say "hey, chillax dude, it's 
experimental!")

Also, most developers will be in different phases in their projects -- some are 
building on some project that is years old and the last thing they want is some 
new experimental feauture. Others are just playing around and don't mind 
getting all the latest bells and whistles. Testing/stable solves all that, 
while still allowing the software to evolve.

Then of course, you have to actually keep the stable branch stable. I realize 
that simply dividing D(2) into two branches wouldn't achieve that. So I don't 
know. I guess this is more an idea for future version of D?

That's it. I'm not quite going to finish my reasoning, because, yeah I don't 
know. Maybe this has been up before? Sorry in that case. I just wanted to give 
this idea some air: How about maybe having a testing/stable branch for D at 
some point in the future? I for one would like that, anyhow.


(Fun thought experiment: Imagine Debian Linux abandoning their testing branch 
and just making all changes to trunk. Imagine _that_ mailing list. You can feel 
the frustration, can't you? :)


Kind Regards
/HF


PS. I've too experienced some frustrating bugs with D, but it's still the only 
compiled language I can stand! *bow*

Reply via email to