On 18/06/2004, at 10:49 PM, Gour wrote:

Any comment from some experienced Haskell programmer about the latest
language shootout published on:

http://shootout.alioth.debian.org/index.php

Yeah. Language shootouts are nearly worthless. (And I say that as an experienced Haskell programmer who uses and loves Objective-C and Perl for his day job, which are rather different beasts to Haskell.) I groaned when I heard that the shootout was revived, because I didn't think they'd improve on the "benchmarks" used to test the various languages, and they haven't. I can't really be bothered emailing them about the fallacies involved because it's just too tedious to explain, and I'm sure they're convinced they're doing a good deed to the world.


About the only good they serve is to show programmers that there are other languages out there, which some people may like to explore. ("Oooo, what's this O'Caml language? Seems to be doing OK in the speed tests ...") They're also good for compiler implementors to find pathological speed cases in their compiler. That's about it.

The reason why I think it's all a load of garbage is that a language is more than its benchmarks. Languages are complex things which you cannot measure with simple metrics such as speed, or lines of code, or memory use, combinations thereof, or some insanely complex one which some fool might dream of. No matter how many large flashing disclaimers that language shootout site has, there will be plenty of people who draw conclusions based on the data presented, just by the virtue of the data being there. ("Haskell is slow. Java is better than Perl. Prolog-based languages suck for doing anything!" Yadda yadda yadda ...).

For instance, one of Haskell's greatest strengths is that its type system catches so many errors at compile-time that a programs often behaves as intended if it compiles -- certainly more often than plenty of other languages. One of Erlang's great strengths is that it's designed to be robust against bad code, has fantastic support for distributed services, and can be easily dynamically (un)loaded with new code. One of Objective-C's greatest strengths is its extensibility: one can add new methods to existing classes without needing the original source code at all, and inject new classes or override a class' methods at run-time. One of Perl's greatest strengths is built-in support for regular expressions, which makes one-shot string processing programs more trivial to write than in many other languages. One of C++'s greatest strengths is that it's C with better language support for object oriented and generic programming and coping with complexity, while sacrificing no speed.

How on earth do you try to factor these things into such a language shootout? You can't. And, despite all the disclaimers on that site, despite all its good intentions, it's just going to give the wrong impression about many languages to many people. I wish that damn language shootout would be shot itself, and be banished for all eternity.</soapbox>


-- % Andre Pang : trust.in.love.to.save

_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to