
Software for reproducible science: let’s not have a misunderstanding - ingve
http://gael-varoquaux.info/programming/software-for-reproducible-science-lets-not-have-a-misunderstanding.html
======
entee
Really interesting take, very much in line with my experience that scientific
code is often broken from a software engineering point of view. Science
benefits greatly from using more standard toolkits in open languages instead
of proprietary code of any sort. This way the kind of reproducibility the
author talks about would be easier to evaluate.

That said, it's often hard in practice. I remember asking a colleague why they
were so matlab-heavy when nothing they did couldn't be done in say, python.
Their response was that all the previous code in the lab was written in
Matlab, so re-writing and re-engineering it would be a huge and somewhat
fruitless undertaking. You don't get publications from refactoring.

Globally though I think science is heading in the right direction, big fan of
efforts like Software Carpentry ([http://software-
carpentry.org/](http://software-carpentry.org/)).

------
mcphage
It's terrible in the CS field, too—how often on HN do we see papers about some
new algorithm, with a fancy demo reel, and no code?

A CS paper without source code isn't science, it's show-and-tell. If all
you're looking to do is get hired by Adobe/Microsoft/Google/Apple, fine, but
don't insult our intelligence by pretending you're doing science.

~~~
nmrm2
Wow. I'll go let the theorists know that their theorems and proofs don't
count.

~~~
mcphage
I'm speaking about claims of execution (we ran our image processing algorithm,
or GA, or whatever, and got the following results). If your claim is a
theorem, then sure, the proof of the theorem is sufficient.

------
amelius
We also need a functional OS, where the same command lines generate the same
results every time.

~~~
jimmaswell
That just sounds completely useless

~~~
amelius
Not if those commands are entered by two different people on two different
machines. Or if there is a large timespan between the commands.

~~~
jimmaswell
Are you trying to say the commands should have no state? Does this OS not
interface with files, network connections, anything? Is it not possible to
tell the time with it because there can't be a time command that's different
one second to the next?

