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…

 

18 Responses to “Software Use in Astronomy”

  1. Phillip Helbig Says:

    Actually, it is a myth that Fortran is obsolete or is still around merely because of inertia. (The same goes for Cobol, but more in the business than in the scientific world.) Nice that the survey helps to lay this myth to rest.

    Whether computer scientists consider Fortran to be obsolete is really beside the point. I have actually heard of employers who intentionally avoided people who had studied computer science, because they were looking for someone who actually knows how to write code. 🙂

    There is also no need for a more modern language (whatever that means; Fortran2008 I would consider modern) if the one one uses does the job. That would be like listening to Justin Bieber instead of John Coltrane solely because the former is more modern.

    I’m happy to continue writing in Fortran.

    Remember: a good Fortran programmer can write Fortran in any language.

  2. Phillip Helbig Says:

    Time to mention the great Captain Starlink cartoon on page 7 again.

  3. Phillip Helbig Says:

    I haven’t read the paper yet, but I suspect that there are significant differences between countries. For example, at least for several years in the 1990s (perhaps before and/or after as well), software was used much more if it was supported by Starlink.

  4. 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.

    • Phillip Helbig Says:

      I always suspected that it is anonymous trolls who spread the myth that Fortran is obsolete. 🙂

    • 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.

  5. 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…

  6. 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.

  7. Phillip Helbig Says:

    Time to post this old chestnut again.

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

    • Phillip Helbig Says:

      Not to mention VMS vs. unix. 🙂

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

      • Phillip Helbig Says:

        Quality not quantity. 🙂

      • 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 )

Google+ photo

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

Connecting to %s

%d bloggers like this: