grauzone wrote:
Walter Bright wrote:
retard wrote:
I can easily come up with 100 other such features.
Please do so, and submit them to bugzilla.
You know, the problem with Bugzilla is, that most entries simply remain
unreplied. Especially when they inquire about strange language features
or dark corner cases.
Being in Bugzilla means they will not be forgotten, and will eventually
get addressed. All spec problems are answerable by anyone willing to
make the effort, and supply a documentation patch.
How is D1 a moving target?
Nobody knows how D actually works. Due to the incomplete specification,
it's like a blackbox. All you can do is to give dmd some code using
under-specified features, and when dmd accepts it, people have to assume
the program is correct.
There's more that can be done than that - file the issue in bugzilla. If
you want to go further, include a patch to the specification.
Also, I have regressions in almost any dmd release. (I always have to
change my code, or wait for later bug fixes. Sometimes the outcome is
that a specific thing just wasn't supposed to work.)
It's true that sometimes bug fixes will cause other bugs, this isn't
just a spec problem. It's a problem that the test suite isn't thorough
enough.
Even more so, D1 seems like a dead horse, and D2 just again is a really
fast moving target. Give us a stable language, Walter! And by stable, I
don't just mean an arbitrary frozen "snapshot" of the language. It has
to be stable, but alive. Other languages are also doing it without
breaking backward compatibility to all existing programs.
It's not possible to have a stable language that gets regular new
features. Even innocuous new features risk breaking things in unexpected
ways. Even just a new keyword.
Other languages do it by taking many years to fold in even very minor
changes.