Had a great time at Shane & Kates housewarming last night... learnt a bit about north-german humour, and spent some hours with conrad on the status of open source:

We have an incredible amount of choice these days - 5 years ago C or C++ was the only default choice for high performance software. Now the boundary has shifted - a lot of high performance software can be written in highly productive languages, and there is robust open source Java support allowing software that needs more performance to be written with dropping down to the metal with C and C++. So C and C++ still have a place, but its becoming less and less the default, and more the special case.

Even when C and C++ is chosen, it seems very rare these days that a new low level library is released without at least one of python/perl/ruby language bindings.

So what does this mean? For most problems that one would like to write a program to automate, you can write it in a high level language and get acceptable performance on any computer bought in the last 3-4 years.