This is a bi-lingual blog of the members of the ADAMIS team at Laboratoire APC and invited guests. We comment on selected papers and events exploring, or relevant to, the interface between physics, cosmology, applied math, statistics, and numerical algorithms and which we have found interesting.

The opinions expressed in this blog reflect those of their authors and neither that of the ADAMIS group as a whole nor of Laboratoire APC.

Monday, October 18, 2010

Publish your computer code: it is good enough

Voilà un article qui concerne le calcul scientifique parût dans la
revue Nature. Je vous en rapporte les extraits les plus amusants,
sans plus d'analyse car le sujet est si vaste...

L'auteur, Nick Barnes, qui se déclare "professional software engineer",
est aussi le directeur de la "Climate Code Foundation".
Il passe aux scientifiques le message suivant, résumé dans la phrase
d'accroche : "Freely provided working code — whatever its quality —
improves programming and enables others to engage with your research"


Mes passages préférées sont ceux qui traduisent une certaine
expérience du développement de code dans le monde de la recherche:

"And you scientists generally think the code you write is poor. It
doesn't contain good comments, have sensible variable names or proper
indentation. It breaks if you introduce badly formatted data, and you
need to edit the output by hand to get the columns to line up. It
includes a routine written by a graduate student which you never
completely understood, and so on. Sound familiar? Well, those things
don't matter."

"Programs written by scientists may be small scripts to draw charts
and calculate correlations, trends and significance, larger routines
to process and filter data in more complex ways, or telemetry software
to control or acquire data from lab or field equipment. Often they are
an awkward mix of these different parts, glued together with piecemeal
scripts. What they have in common is that, after a paper's
publication, they often languish in an obscure folder or are simply
deleted. Although the paper may include a brief mathematical
description of the processing algorithm, it is rare for science
software to be published or even reliably preserved."

"For scientists, the word publication is totemic, and signifies
perfectionism. But your papers need not include meticulous pages of
Fortran; the original code can be published as supplementary
information, available from an institutional or journal website."

"But the most important change must come in the attitude of
scientists. If you are still hesitant about releasing your code, then
ask yourself this question: does it perform the algorithm you describe
in your paper? If it does, your audience will accept it, and maybe
feel happier with its own efforts to write programs. If not, well, you
should fix that anyway."

Au delà du côté amusant, la question mérite d'être discutée, et
l'article a suscité des commentaires, certains tout aussi
intéressants, que je vous invite à lire. Allez, je ne résiste pas à
l'envie de vous donner un dernier extrait parmi ces commentaires:

"Do not worry is not that obscure rule that prevents scientists to
publish their codes. Scientists by definition are intelligent people
and they know their limits. Very few scientists who write bad code I
have seen claiming that they write good code. Not publishing the code
is just a way of hiding the incompetence in the subject. "

No comments:

Post a Comment