Software Use in Astronomy

I just saw an interesting paper which hit the arXiv last week and thought I would share it here. It’s called Software Use in Astronomy: An Informal Survey and the abstract is here:

softwareA couple of things are worth remarking upon. One concerns Python. Although I’m not surprised that Python is Top of the Pops amongst astronomers – like many Physics & Astronomy departments we actually teach it to undergraduates here at the University of Sussex – it is notable that its popularity is a relatively recent phenomenon and it’s quite impressive how rapidly it has caught on.

Another interesting thingis the continuing quite heavy use of Fortran. Most computer scientists would consider this to be an obsolete language, and is presumably mainly used because of inertia: some important and well established codes are written in it and presumably it’s too much effort to rewrite them from scratch in something more modern. I would have thought that Fortran would have been used primarily by older academics, i.e. old dogs who can’t learn new programming tricks. However, that doesn’t really seem to be the case based on the last sentence of the abstract.

Finally, it’s quite surprising that over 40% of astronomers claim to have had no training in software development. We do try to embed that particular skill in graduate programmes nowadays, but it seems that doesn’t always work!

Anyway, do read the paper yourself. It’s very interesting. Any further comments through the box below please, but please ensure they compile before submitting them…

 

9 Responses to “Software Use in Astronomy”

  1. telescoper Says:

    I remind potential commenters that I do not accept anonymous comments.

    I also remind persons attempting to place anonymous comments that IP addresses are quite easy to trace.

    • Jesus Torrado Says:

      My apologies. I didn’t know that was your policy. I take note for future comments. (Not signing is just my default choice, not motivated by any will to troll.)

      Summarizing the previous long, long comment, I was arguing (I think reasonably and not at all troll-ly) that saying that Fortran is becoming obsolete is not entirely a myth, since there are aspects to becoming obsolete that occur in that case: it’s shrinking slowly as a first choice for a programming language in astronomy for several reasons, related to its previous advantages over C being not such when compared to Python, and that it is lacking full support for its lasts versions in the GNU compiler (e.g. 2008 is not fully supported).

      Also, I stated that I don’t think that it is ever dissapearing, but just slowly getting restricted to those fields and problems in which its advantages do make a big difference.

  2. John Peacock Says:

    Speaking as an “old dog” who has recently become quite an intensive Python user after a lifetime of fidelity to the One True Language, I think the growth of Python could be good news for Fortran. The syntax is often quite similar: I find my Fortran experience lets me hack working Python in stream-of-consciousness mode, which is something I never managed to achieve with C++. Based on this, I conjecture that a student who knows only Python may well tend to gravitate to Fortran when they need a proper language.

    And they will need this. One of the intellectually stimulating things about Python is the way you have to find dirty tricks to get things done without writing explicit loops. It’s a fun game to outwit the computer, which is just waiting to whoop “you lose” when you have to resort to loopery, thus slowing things down by a couple of powers of 10. But sometimes there is no alternative to looping. When a student realises this, they will want to write some high-level code that looks as much like Python as possible – and I don’t think this means C++.

    • telescoper Says:

      The only language I recognize as “proper” is 6502 assembly language, which is what I wrote my first program in…

  3. Chris Chaloner Says:

    6502 assembler? that’s one of those new-fangled languages, I think? My first was in Mercury autocode for an English Electric DEUCE – 5-hole paper tape in and out, and a MTBF of about 5 minutes – and down for about 10 minutes while the valves were changed…..
    Seriously though… the preferred language depends on the use to which it is put. Code hacked together for a quick analysis of a scientific question is not the same as a large operational suite built by a team and which then has to be maintained for years by people who were not the original coders. The latter needs to enforce structure, rigid typing, documentation, and traceable requirements and this is the sort of area where FORTRAN has traditionally scored.

  4. I sometimes use calculus, even though it is older than Fortran, with seemingly no ill effects.

  5. I hope they do a follow up paper of emacs vs vi use amongst astronomers

    • You’d better take part in that one to make sure VMS has some numbers!

    • It’s been a long time since I’ve used VMS. When I started my PhD, the Physics Department at my University had a number of VMS servers and one belonged to our group, thus it was my main research machine. I got quite adept at it before they decided to go all-Unix. Prior to that my computer experience was all computers that were somewhat affordable to home users; ZX Spectrum, Amstrad PCW (CP/M), Commodore Amiga. The latter I learned to programme in 68k assembler, mainly because I couldn’t afford a “proper” language compiler.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: