varoquaux@normalesup
org Views on scientific computing
My contributions to the scientific computing software ecosystem are motivated by my vision on computational science.
Scientific research relies more and more on computing. However, most of the researchers are not software engineers, and as computing is becoming ubiquitous, the limiting factor becomes more and more the human factor [G. Wilson, 2006] [P. Norvig, 2009].
Note
To address the needs of computing accross scientific fields, I believe that we need a general-purpose, high-level, interactive, and highly-readable language and set of tools for scientific computing.
We need better teaching material, that sit at interfaces between software engineer, and general science. Most top notch tools and libraries are full of domain-specific jargon and conventions.
For reproducible science, we need the code to be readable and to reflect the corresponding scientific operation. We need it to be unit-tested to ensure its correctness.
Note
We need to start considering scientific libraries as end-result of our research with the same importance than articles [J. Buckheit and D. Donoho. 1995]. They need to convey a scientific message, to be understandable and refutable. New results should be reproducible via published code [CISE Jan. 2009]. As for established algorithms, scientific libraries with their documentation and examples should be the textbooks of tomorrow.
Further reading:
- Open source Machine Learning software [S. Sonnenburg et al. 2007]
- Open source mathematical sofware [D. Joyner and W. Stein 2007]
- Licensing, intellectual property in scientific work [A. Gonzalez 2006]
- Scientific software development best practices [S. Baxter et al. 2006]