Wednesday, November 15, 2006

Java vs. C# vs. C++

Arno posted a little duelling performance test for a sudoku solver here. He has snobbily disabled comments on his blog (you hear me, Arno?) :)

So in hopes that he gets a trackback, I'd be really interested to see how much of a difference .Net 2.0 would make to his performance numbers, as well as java 1.5 and 1.6 (or against BEA's JDK).

And also see how much more g++ might be able to squeeze out of his code if it were thoroughly twiddled for optimizations.

I really need to hunt down the post I read long ago that argued that most application development these days is IO bound, and not processor bound, and that chasing these milliseconds doesn't really help us much. This is largely the argument made in defense of interpreted languages like Python, Ruby, and Perl. Your language choice doesn't change your bandwidth, your network latency, or the speed of your hard drives.

Perl is an unfortunate crime of history. But Python and Ruby are moving in directions we need to pay attention to. Need to break out Iron Python and see how I like it.

Of course, Arno posted his code and I could run it under those platforms, and even for fun port it to Python and Ruby (I need to get a little Ruby under my belt just to see what all the noise is about.)

At some point I'll blog my thoughts about the difficulties of a multi-language environment when you're developing with a team. Sometimes the best tool isn't the best tool when you're the only guy that knows it. And apparently I'm in a significant, but not majority subset of developers that think it's fun to learn new languages and get them to play nice with each other.


Arno said...

Hi Brian,

I can hear you (although weeks later). Comments are off on my blog because of historic reasons (Blogspot's lack of comment spam protection back when I created it, I can see they have improved on that). Thanks for your feedback, I will do some benchmarking on .NET 2.0 and Java 5, and post the results.