[Haskell] Re: comment on language shootout
Iavor S. Diatchki
diatchki at cse.ogi.edu
Fri Jun 18 13:19:33 EDT 2004
of course it is not a _language_ shootout, but rather _language
(actually not even that..., and yes, i agree that some of the tests are
silly, or even non-sensical, e.g. list processing)
it still has some interesting results though. for example it points out
where our libraries
can be improved. as simon pointed out, the strings are one such area.
another place where we seem to be slow is in conversion from strings to
the one test i rewrote was using "readDec" from the "Numeric" library.
when i wrote
my own conversion function, the program became nearly twice as fast,
that it was spending all its time converting.
one thing i find annoying is the "implemented in the same way" restriction.
i think it leads to programs, that are simillar to the "automatic"
available for some web pages, and one essentially gets the same program
written in different syntaxes. what would be cool is to have a place where
one has many versions of the same program, but each written in the "most
way for the particular language --- a kind of "rosetta stone" for
André Pang wrote:
> On 18/06/2004, at 10:49 PM, Gour wrote:
>> Any comment from some experienced Haskell programmer about the latest
>> language shootout published on:
> 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
More information about the Haskell