A little of coordination for Rosettacode
bearophile
bearophileHUGS at lycos.com
Wed Jan 15 17:11:17 PST 2014
Brad Roberts:
> Requiring that users of the code in resottacode be using
> bleeding edge, unreleased, compilers is a disservice to those
> users. Typical users will not and should not need to use
> anything other than a released compiler.
Some of the rosettacode usages/purposes are:
- Trying new compiler features to see if they work correctly;
- Try the new compiler features to learn to use them effectively;
- To test the compiler betas to see if they have "regressions" if
you try to use the new features.
- To show "good" (== short, fast, elegant, clean) D code, thanks
to some nicer recently introduced compiler improvements;
So do you want to throw away those purposes?
Also keep in mind that if you throw away those purposes, I will
lose some of my desire to work on Rosettacode, so you will have a
less good and less updated rosettacode site. And I have found
probably more than 300 dmd bugs/regressions thanks to those
beta-related purposes. If you throw away those purposes you will
lose a significant amount of my future bug reports. Are those
prices low enough for you?
> The point is you shouldn't have to, unless the code is taking
> advantage of broken behavior. Any changes that 'have' to be
> made due to a compiler release need to be carefully examined as
> probable regressions in the compiler.
One of the points of improving a compiler is offering new
features that are advantageous to use. If you don't want to use
them it often means they are a failure. In many other cases the
dmd compiler rejects older code that was wrong, because it
becomes more tight.
Rosettacode tasks are usually short. If you don't try new
compiler features in such little programs that have no
production-level significance, then you will never try them in
production code, and you will probably use just C-like code.
Being a little compiler-bold in those tasks is acceptable.
Bye,
bearophile
More information about the Digitalmars-d-learn
mailing list