The Great Win32 Computer Language Shootout |
The C++ vs. Lisp discussions reminded me about the Great Language Shootout websites. The original website is no longer updated but Aldo Calpini still puts time into the Win32 Shootout, adding languages - Mozart-Oz, C#, VC++.
Doug Bagley seemed aware of the many difficulties involved in this kind of comparison. Other issues have been mentioned on LtU.
One of the challenges is deciding if the different implementations do the test in the same way. For example, the Sieve of Erathostenes implementions should match as closely as possible the logic and data structures used in the C version.
That's going to be awkward in a purely functional language, and it's even awkward in imperative languages - you have to program each test language as though it were C.
Is there a way to specify these tiny programs with enough clarity and still enable imperative or functional or ... implementations?
The measured results of some "tests" are "fairly meaningless" (Exceptions). Are there more interesting micro-problems from functional programming, concurrent programming, ...?
[Disclaimer: I'm interested in the Language Shootout because it lets me compare code snippets from many languages, and gives an order of magnitude indication of speed]