On Wednesday, 24 September 2014 at 14:56:11 UTC, Don wrote:

I agree completely. I would say that the #1 problem in D is the paranoid fear of breaking backwards compatibility. I said that in my 2013 talk. It is still true today.

Sociomantic says, PLEASE BREAK OUR CODE! Get rid of the old design bugs while we still can.

For example: We agreed *years* ago to remove the NCEG operators. Why haven't they been removed yet?

Yep. So long as the messaging is clear surrounding breaking changes I'm all for it. In favor of it in fact, if it makes the language better in the long term. Dealing with breakages between compiler releases simply isn't a problem if the issues are known beforehand, particularly if the old compiler can build the new style code.

D isn't unique in this respect anyway. The C++ compiler our build team uses at work is sufficiently old that it can't compile certain parts of Boost, for example. We've been pushing to get a newer compiler in place, and that comes hand in hand with code changes. But we *want* the breaking change because it actually solves problems we have with the current compiler iteration. Similarly, I want breaking changes in D if they solve problems I have with the way things currently work.

I kind of feel like D is stuck in prototype mode. As in, you demo a prototype, people like what they see and say "ship it", and rather than take the time to make the real thing you *do* ship it and then immediately start working on new features, forever sticking yourself with all the warts you'd glossed over during the demo. In this case we were prototyping new features to ourselves, but the same idea applies.

Reply via email to