[Haskell] Re: comment on language shootout

André Pang ozone at algorithm.com.au
Fri Jun 18 12:22:04 EDT 2004


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



More information about the Haskell mailing list