December 12, 2004

An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl

If only it was that easy. But, in his paper, this fellow has attempted just that. It's really quite interesting but flawed. I don't want to spoil it for you but what basically happens is he specifies a simple problem and has 80 different programmers independently solve it using whatever language they want. Then he collates the results and analyzes them in terms of programmer productivity, program reliability, program performance, etc.

It sounds like a really objective way of comparing languages right? Well almost. Unfortunately he chooses a problem that is ideally suited to scripting languages so it's hardly any surprise when they come out best. I don't think that this kind of experiment is going to produce useful results unless the problem being specified is reasonably large scale. That is not because I think scripting languages are bad for larger scale programming. It is because languages like Java, C and C++ are especially bad for very simple programs. But I don't really care about simple programs because I spend virtually no time writing them.

But it's not a complete loss. I am interested in how much more productive programmers can become when they use a scripting language. So any productivity boost for a problem tailored to scripting languages is a kind of upper bound on the improvement I might see for a problem that was not so tailored. I think.

The conclusion was that the script programmers took half as long as the Java / C / C++ programmers and produced half as many lines of code to solve the same (tailor made) problem. That comes as a relief to me. Some scripting language advocates will try and make you believe scripting language X is going to make you 10 times faster.

So it looks as though there might be some potential benefit in using a scripting language for game code, but it is by no means a silver bullet.


Comments: Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?