On Thursday, 25 July 2013 at 18:23:19 UTC, Xinok wrote:
Once in a while, a thread pops up in the newsgroups pitting D
against some other language. More often than not, these
comparisons are flawed, non-encompassing, and uninformative.
Most recently with the article comparing D with Go and Rust,
the community pointed out a few flaws involving a late addition
of one of the D compilers, build configurations
(-noboundscheck?), and the random number generator used.
Then when I think about how web browsers are compared, there
are conventional measures and standard benchmarking tools (e.g.
sunspider). They measure performance for javascript, rendering,
HTML5, etc. They also measure startup times (hot/cold boot),
memory usage, etc. Finally, there are feature comparisons, such
as what HTML5 features each browser supports.
These are the type of comparisons I'd like to see with
programming languages. For starters, there should be standard
"challenges" (algorithms and such) implemented in each language
designed to measure various aspects of the language, such as
sorting, number crunching, and string processing. However,
rather than leave it to a single individual to implement the
algorithm in several different languages, it should be left to
the community to collaborate and produce an "ideal"
implementation of the algorithm in their language. We could
analyze factors other than performance, such as the ease of
implementation (how many lines? does it use safe/unsafe
features? Was it optimized using unsafe / difficult features?).
What can we do about it? I propose we come together as a
community, design challenges that are actually relevant and
informative, and release the first implementations in D. Then
we let the battle commence and invite other communities to
contribute their own implementations in other languages. I
think we should give it a try; start off small with just a few
moderate challenges (not too simple or complex) and see where
it goes from there.
Sounds somewhat like Rosetta Code.
http://rosettacode.org/wiki/Rosetta_Code
Bearophile spends a lot of time adding D entries there.