The Great Computer Language Shootout Revived
An anonymous reader writes "Doug Bagley's famous Great computer Language Shootout more or less died in 2001 out of lack of support by its own author.
A group of developers have decided to revive it and update it with the latest versions of each compiler and interpreter available on the Debian distribution.
The good news is, a wiki has been set up so that people can help improve the shootout, discuss the implemetations of the programs, and suggest optimizations."
Judging by the lack of comments in here, I'd say it isn't just the author who lost interest.
I'm fighting the urge to ask how C compiled with gcc 1.3 will compare to COBOL...
They could have added comparsions between gcj and Java.
At first, when I saw the Java comparsions, I tought "ok, that will send the last report that says that Sun Java is faster than g++ to space!" but checking the "Implementations" section, it showed that they used gcj for its java comparsion.
Going through some of these sample programs, I see some serious flaws. The C implementation of regex just calls pcre. The C implementation of Hello World calls fputs instead of write(). The C++ implementation of hash uses sprintf and strdup. The C and C++ implementations of the fibonatchi sequence test are recursive. The tests themselves are so short that you are measuring the time to load the binary into memory and cleanup for half the tests.
Really there should be some automated way to submit a replacement for some of these tests that gets peer reviewed. That way each language has the "best" implementation for the language.
Of course, it would have to be considered the "best practices" use of the language as you could always write C in C++ (call write() for Hello World for instance).
The world is neither black nor white nor good nor evil, only many shades of CowboyNeal.
I find it quite frustrating that there is such huge inertia in programming languages. Even when languages have some remarkable advantage, programmers won't use it because "nobody uses it."
.Net) is a Good Thing.
I don't deny that popularity provides some huge advantages. I just hope that there can be mechanisms to bootstrap popularity, and this Great Language Shootout is (potentially) the sort of thing the could do that.
Some languages, for example, have significant advantages in some specialty area: Erlang in parallelism, Lisp as a language for writing specialty languages, bug minimization approaches taken by Eiffel or the functional languages, etc. They may be awful for other types of work, but the fact that a hammer is a terrible saw doesn't make it any less of a great tool for the right problem.
If there were an active, busy site frequented by developers at which there were a wide variety of benchmarks that allowed uncommon languages to show off their specialty advantages, more developers would do some of their work in those languages, and the increasing popularity would result in better implementations and a flourishing of new languages.
Right now, the popular languages don't come close to taking full advantage of what we have learned about programming, and yet you would have to be either an academic or a fool to put a lot of effort into designing a great new language. The way things are right now, a great language designer probably has a better chance of being hit by lightning than he has of ever making his great new language popular.
Anything that reduces this language inertia (and YES that includes
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
Isn't this the same story as the one yesterday about how Java is faster than C++ under "suitable" conditions.
----
Notes on Stuff
And where exactly can you find a good suppy of, say, Erlang programmers? Compare that with yucky java.
Oh boy! There is a "Manufacture your own results" cgi! Now we can all play the "change the weighting so your language of choice wins" game!
I changed everything to '1', and Ocaml won.
write(2) is a system call on UNIX systems, not a part of the C language or the C standard library. It has no place in a portable C program. You might as well argue that the program should have use DosWrite() (OS/2 system call) or $QIO (VMS system call).
Mea navis aericumbens anguillis abundat
If you got to their wiki, they explicitly recognize the problem.
That's why they set up another test for hashes (namely Hash II).
Therefore, when evaluating the final result, all you have to do is to set a weight of 0 to the test Hash I, and the resulting evaluation is Ok.
As flawed as it is (but which comparison isn't ?), the shootout probably is the most comprehensive language comparison available.
for(i=0;language[GCC]>language[i];i++) too_true++; Better make too_true a long long.
Apparently they used Psycho to get the Python numbers. This is why the Python numbers look so good. However, Psycho is not the standard distribution of Python and it doesn't allow the full flexibility of standard Python. This should be noted in the results. They should create a set of results using the 'standard' Python distro as well. ...otherwise, why not just let us use Inline::C in Perl (or in Ruby) - basically this would allow you to put C code into your Perl/Ruby script (which wouldn't be fair).
Where is Fortran, Pascal, and Basic?n at http://world.std.com/~burley/g77.html This is g77 I do not know if G95 is ready yet.
I know these are old but you can get them all under Linux.
Pascal at http://www.gnu-pascal.de/gpc/h-index.html
Fortra
And I have seen a few Basics.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
fact> debian is dying
no new releases...
they still have the linux kernels 2.2.x and 2.4.x
archaic installer
it's full of bugs / the most buggy and unsecure open source os. linuxsecurity.com/advisories
Lack of comments, lost interest in something old = Debian is dying
(Score:5, Funny)
there's no interest in writing a single book about debian. last book about debian was released in 2000. debian is dying