This the title of a paper by Ivelina Momcheva and Erik Tollerud that was recently posted on astro-ph at http://arxiv.org/abs/1507.03989. Between December 2014 and February 2015, they carried out an informal survey about software use in astronomy, marketed mainly through social media. It is not presented as representative of the worldwide astronomy community, and there are no attempts to correct for selection biases: the results are presented as collected. I recommend this article to everyone writing software in astronomy. Figs 1 and 2 alone make the article worth reading (no spoilers!). You can also interact with some of the visualizations I reproduce below.
Participants were asked the following questions:
- Do you use software in your research?
- Have you had formal training in software development?
- Which of community or self-written software is more common in your work?
- Select which if the community tools that you use regularly for your research.
Three questions requested basic demographic information:
1. What is your field of research?
2. What is your career stage?
3. What is the location of your institution?
The survey received 1,142 responses, across all career stages. 100% of respondents used software to do research, yet only 8% report that they have received substantial training in software development. Another 49% received “little” training, and the remaining 43% have received no training. This seems to be true across all career stages:
That Python tops the list of tools should surprise no-one, given the high cost of licensing its closest rival, IDL, and the outstanding free Python distributions available to astronomers. We often talk of IDL having lost much of its market share to Python (and the comments at the end of the paper do back this up), but it’s not that simple, as many astronomers do use both:
Some of the most revealing information was in the comments at the end.
- Many respondents were learning Python, and its displacement of IDL as the programming language of choice will almost certainly continue.
- Many decried that lack of formal training on software engineering, and some thought it should be a required part of their graduate programs.
- There were suggestions that greater credit and career opportunities should be afforded to those developing community software.