Quelle place pour la programmation scientifique ?
Émilien
Matthias
Objectif : nourrir la discussion de nos expériences sur Python … mais qui dépassent un langage particulier.
Programmer en recherche \(\neq\) développer un logiciel
« in contrast to software engineering, there is no externally specified goal or design target. Instead, the user explores and discovers their goal as they gain understanding from iteratively executing the code and thinking about the results and their data. » (Granger et Perez, 2021)
Font partie des instruments de la recherche
Schindler D, Bensmann F, Dietze S, et al. (2022) The role of software in science: a knowledge graph-based analysis of software mentions in PubMed Central. PeerJ Computer Science 8: 1–47. DOI: 10.7717/PEERJ-CS.835.
Juliette Taka, & Nicolas M. Thiéry. (2018). Publishing reproducible logbooks explainer comic strip. Zenodo. https://doi.org/10.5281/zenodo.4421040
Quand l’Open Source rencontre l’Open Science
« The reason why I wanted to do it in Python is because I was using a proprietary tool for my work, but I wanted to do my scientific work with open tools. I think of science’s mission as opening the black box of nature. It’s a bit nonsensical to do that with tools that we are not allowed to open and understand, including proprietary software » (Fernando Perez, As Project Jupyter celebrates 20 years… 2021)
Inspiré du schéma de Jake Van Der Plas, JSM 2016.
Entre recherche et open source
Entre les mondes scientifiques et de l’ingénierie des données.
Importance d’avoir une idée de ce qu’il est possible de faire
“Certains disent « Il faut coder », d’autres rétorquent « Il faut décoder »” (Cardon, 2019)
Souvent plus simple qu’on imagine :
Python comme un avatar de la programmation scientifique