Saturday, May 12, 2007

Programming Language Comparison

Welcome back ;), long time no see.

Well, what can I say, blogging isn't my strong point, but from time to time something really cool comes up - so here we go.

In my new job I'm getting a little closer to the processor (programming-wise) than I thought, so instead of signing the rest of my days to C I thought I'd have a look around for some alternatives.

C, as we know, is now a bit over 30 years old, there has been some ;) development in language and compiler construction since then - although it seems to be a problem to get that across to the other project members. So how can we compare programming languages? There is performance, sure, never forget that, but that's not all:

What I found was an objective development-speed test. It was set up to convince people that Java doesn't help at all compared to C++ and it was adapted by many other people. The original test is a published (thus: not publicly accessible) paper, but there is a follow-up here. There, it's used as an argument to use Lisp instead of Java (as I said, performance shouldn't be completely off the table...).

What they do have are believable development time studies (done on 12 programmers):
C++: 3 t0 25 hours
Java: 4 to 63 hours
LISP: 2 to 8,5 house
Also, C++ and Java programs are extremely large (around 300 lines).

So, of course, I did the test in C# and ended up with 51 lines after 65 minutes. So that's a pretty good language, I think.

And speaking of good languages: Finally, there is a modern language for low-level development: 'D' (see here). It has almost too many language features, but it's a big improvement for low-level developers since it's almost as fast as C. Development time for the test problem was 75 minutes for 55 lines of D. I think that language I could get to like it.

Tune in for more,


Labels: , , , , ,