Pourquoi faut-il programmer en sciences sociales?

Vous contrasterez rapidement que R est un véritable langage de programmation. L’apprentissage de ce language de programmation est-il pour autant pertinent pour les étudiants et étudiantes en sciences sociales? Il est vrai que la programmation n’est pas une compétence qui vient d’emblée à l’esprit lorsque l’on s’intéresse à la recherche aux sciences sociales. Pourtant, elle est de plus en plus importante, et ce, pour plusieurs raisons :

  • Une part toujours plus grande des phénomènes sociaux se produisent ou peuvent s’observer au travers d’environnements numériques. Être capable d’exploiter efficacement ces outils permet d’extraire des données riches sur des phénomènes complexes, tel qu’en témoignent des études récentes sur la propagation de la désinformation sur les réseaux sociaux (Allcott et Gentzkow 2017), la migration des personnes (Spyratos et al. 2019), la propagation et les risques de contamination de la COVID-19 (Boulos et Geraghty 2020). Le plus souvent, les interfaces (API par exemple) permettant d’accéder à ces données nécessitent des habiletés en programmation.
  • La quantité de données numériques ouvertes et accessibles en ligne croit chaque année sur des sujets très divers. La plupart des villes et des gouvernements ont maintenant leur portail de données ouvertes auxquelles s’ajoutent les données produites par des projets collaboratifs comme OpenStreetMap ou NoisePlanet. Récupérer ces données et les structurer pour les utiliser à des fins de recherche nécessitent le plus souvent des compétences en programmation.
  • Les méthodes quantitatives connaissent également un développement très important. Les logiciels propriétaires peinent à suivre la cadence de ce développement, contrairement aux logiciels à code source ouvert (comme R) qui permettent d’avoir accès aux dernières méthodes. Il est souvent long et coûteux de développer une interface graphique pour un logiciel, ce qui explique que la plupart de ces programmes en sont dépourvus et nécessitent alors de savoir programmer pour les utiliser.
  • Savoir programmer donne une liberté considérable en recherche. Cette compétence permet notamment de ne plus être limité(e) aux fonctionnalités proposées par des logiciels spécifiques. Il devient possible d’innover tant en matière de structuration, d’exploration et d’analyse des données que de représentation des résultats en écrivant ses propres fonctions. Cette flexibilité contribue directement à la production d’une recherche de meilleure qualité et plus diversifiée.
  • Programmer permet également d’automatiser des tâches qui autrement seraient extrêmement répétitives comme : déplacer et renommer une centaine de fichiers; retirer les lignes inutiles dans un ensemble de fichiers et les compiler dans une seule base de données; vérifier parmi des milliers d’adresses lesquelles sont valides; récupérer chaque jour les messages postés sur un forum. Autant de tâches faciles à automatiser si l’on sait programmer.
  • Dans un logiciel avec une interface graphique, il est compliqué de conserver un historique des opérations effectuées. Programmer permet au contraire de garder une trace de l’ensemble des actions effectuées au cours d’un projet de recherche. En effet, le code utilisé reste disponible et permet de reproduire (ou d’adapter) la méthode et les résultats obtenus, ce qui est essentiel dans le monde de la recherche. À cela s’ajoute le fait que chaque ligne de code que vous écrivez vient s’ajouter à un capital de code que vous possédez, car elles pourront être réutilisées dans d’autres projets!

Références

Allcott, Hunt et Matthew Gentzkow. 2017. « Social media and fake news in the 2016 election. » Journal of economic perspectives 31 (2): 211‑36. https://doi.org/10.1257/jep.31.2.211.
Boulos, Maged N Kamel et Estella M Geraghty. 2020. « Geographical tracking and mapping of coronavirus disease COVID-19/severe acute respiratory syndrome coronavirus 2 (SARS-CoV-2) epidemic and associated events around the world: how 21st century GIS technologies are supporting the global fight against outbreaks and epidemics. » International journal of health geographics 19 (1): 1‑12. https://doi.org/10.1186/s12942-020-00202-8.
Spyratos, Spyridon, Michele Vespe, Fabrizio Natale, Ingmar Weber, Emilio Zagheni et Marzia Rango. 2019. « Quantifying international human mobility patterns using Facebook Network data. » PloS one 14 (10): e0224134. https://doi.org/10.1371/journal.pone.0224134.