What are the worst parts of D?

Sean Kelly via Digitalmars-d digitalmars-d at puremagic.com
Wed Sep 24 08:59:26 PDT 2014


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.


More information about the Digitalmars-d mailing list