Why do we need Best practices for Scientific Computing?

A paper on “Best practices for Scientific Computing” was recently published on arXiv. This paper, although authored by many (13 authors for a 6 page paper, one of which are references), isn’t in any way ground breaking. It compiles a set of thumb rules brought from the software development world and tries to shuffle them as a panacea for scientist bad coding practices.

Yes, scientist usually have bad code. But scientists aren’t programmers, and even computer scientists have bad code sometimes. Scientists usually aim at solving a problem and the code is just the tool (usually used like a hammer), and is many times neglected when publishing day arrives.

One of the problems is that although the paper is full of good tips on how to organize your programming activities, it brings into context some notions that many scientists don’t really ever used. The notion of versioning for example, that is so common on the programming world isn’t well understood in other areas. This is just an example, but I feel that the authors (13?, have I talked about that yet?) are mainly preaching for the already converted.

In any case this paper also reveals another problem with science today. A 6 page how to paper authored by 13 (yep, that number again) reveals how some science is being done today. Publish at all cost. Publish even if it is just a compilation of a best practices manual. Publish or get your name into someone else paper. Is this pageview driven science good for society and for science?

Yes, this particular case might be useful for someone that hasn’t thought before on how to organize his code, but otherwise it is just that kind of smart science to improve citation numbers (times 13).