On Wed, 24 Sep 2014 14:56:10 +0000 Don via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
> "Most D code is yet to be written." and it will be wrtitten in a language with heavy legacy. it's the same thing as with c++ interop: pleasing imaginary future users at the expense for current users. even small changes that either breaks something or even adds a more sane/more consistent way to do some small thing without breaking the old way have virtually no chances to get into mainline. see, for example, function attributes. neither patch that allows to use '@' in front of "pure" and "nothrow" nor patch that allows to omit "@" for "@safe", "@trusted" and so on was "blessed". they were destroyed almost immediately: "it's not hard to type that '@'", "there is nothing wrong in such inconsistent syntax", "newcomers will be confused by having two syntaxes" (as if they are not confused now, failing to understand why some of the attributes requires "@", and some can't be used with "@"!). or 'const' function attribute, which, i believe, should be forbidden as prefix attribute. i.e. 'const A foo ()' should be compilation error. or having no way to cancel "final:" and "static:" (this annoys me virtually each time i'm writing some complex structs/classes). and so on. i'd say "change this while we can!" but no, imaginary future users will be dissatisfied.
signature.asc
Description: PGP signature