manifest enum

KeYeR (Piotr) called upon me in #D and said that my statement "This is one of the worse decisions among the bad ones in the D history." was bad English. No, not really. He said that it was a strong statement, and sure, it is. I tend to be (unnecessarily so?) strong in my rather few statements on design choices in the D language. Peter added that he was afraid that I was right.

As I see it, Walter here is willingly implementing a solution that 99% of the community seems to hate. He even had a different implementation, the manifest keyword, that was applauded in the newsgroup before changing it to the enum variation. I don't think any of his reasonings on enum holds up in the D court, and I hope that he decides otherwise yet another time.

D 2.0 is adding a whole slew of obviously nice features, but few (if any) of the warts of 1.0 has yet to see a fix (foreach_reverse comes to mind ...). Instead we're only getting new ones.

Now, not everyone hates all the features that I dislike, and quite a few dislike features that I like (I almost added a Bilbo Baggins party reference here, but decided against it...). In any case, Walter's choices (the enum one is just the last example) seems to cause enough aggravation that talk about forking D (and a companion compiler) seems to be a daily happening in #D over at Freenode. I am pretty sure that this will happen in any case, but a Walter that seems to listen to the community more than he does (when he does it seems like such a weird happening that all go "Huh?! Yay!") could lower the rate. Note that bad additions, like weird keyword usage (enum) or lost opportunities (like Tom's totally generic control structure), seems to cause much more aggravation than features not implemented (because the language bloat argument always works).

Reply

Please solve the math problem above and type in the result. e.g. for 1+1, type 2
The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <center><img><a> <em> <strong> <cite> <code> <blockcode> <ul> <ol> <li> <dl> <dt> <dd><br><script> <pre>
  • Lines and paragraphs break automatically.
  • You may post block code using <blockcode [type="language"]>...</blockcode> tags.
More information about formatting options