Ask Steve! - To C or Not to C: which programming language should I use?

Posted by s.crouch on 25 January 2011 - 4:32pm

There I was sitting back reading a copy of ‘What Compiler?’ when I received a particularly tricky AskSteve question…  Ok, ok, Simon nudged me whilst I was reading xkcd and chomping on a sandwich and mentioned we had received a particularly tricky AskSteve question…

“Hi Steve, I’m an ambitious programmer just starting out in a new research team. I want my code to not just work fast, but to last as long as possible and I want others to admire and use my code. Everyone else seems to use Fortran round here, and I’m not sure that’s a good thing. Your wisdom, would as ever, be much appreciated”

Hmm… certainly an interesting and involved question, to which there is, unfortunately, no straightforward answer.  However, all is not lost, I’m up for the challenge!  There are some things you can consider to help narrow your search, and over the coming weeks I’ll be revisiting this question to look at each of these.  As to answering the question…

First off, as a general rule, you should of course select what is right for the application you wish to develop.  Are you developing software to produce scientific results, or some support infrastructure like a web site?  Many languages are good for many different applications, but trying to use Fortran to develop an HTTP server for example, well, err… no.  Just no.

You mention that others around you are using Fortran.  Assuming they are in the same field of study as you, do you happen to know why this is?  The reason I ask is that research communities can converge on a particular language for a number of reasons: either for suitability, or perhaps historically it’s simply what’s been used before (by the developers themselves or the community at large), or even because it’s simply what is available.  For example, although Fortran has been around for over 50 years, it is still used (and suited) for computationally intensive data processing in many fields of engineering and science.  At the SSI, for example, we’re working with Sally Price’s Research Group at UCL who have developed the much respected and used Fortran-based DMACRYS software for computational modelling of molecular crystal properties.  So if your application requires such processing capabilities, and it’s ‘de rigeur’ in your field, it’s obviously a very strong contender.  On the other hand, if the others are using Fortran for less informed reasons, then perhaps you should be considering something else!

That’s all for now.  I’ll be coming back to the issue of choosing a programming language soon – until next time!

Share this page