ANNÉES 1990

R

Deux statisticiens de l'Université d'Auckland, Ross Ihaka et Robert Gentleman, cherchaient un environnement statistique pour leur laboratoire d'enseignement sur Macintosh. Leur lecture du livre d'Abelson et Sussman, The Structure and Interpretation of Computer Programs, et leur intérêt pour le langage Scheme les conduisirent à développer un interpréteur minimaliste en C d'environ mille lignes de code. Ce qui n'était au départ qu'une expérimentation allait devenir l'un des outils les plus utilisés en statistique et analyse de données.

Le choix d'adopter une syntaxe proche du langage S, créé aux Bell Labs par John Chambers et son équipe, s'imposa. Cette décision garantissait une certaine familiarité pour les statisticiens habitués à S, tout en laissant la liberté d'innover sur le plan technique. R conserva des spécificités héritées de Scheme, notamment dans sa gestion de la mémoire avec un ramassage de miettes à allocation fixe qui limitait les problèmes de pagination. Les règles de portée lexicale permettaient aux fonctions d'accéder aux variables définies lors de leur création, une caractéristique qui distinguait R de ses contemporains.

En août 1993, Ihaka et Gentleman déposèrent leurs premières versions binaires sur StatLib et annoncèrent leur travail sur la liste de diffusion s-news. Martin Mächler de l'ETH Zurich, intrigué par le projet, les incita à publier le code source sous licence GNU GPL. Cette suggestion fut d'abord accueillie avec prudence. Les deux chercheurs hésitaient à ouvrir complètement leur code. Ils franchirent pourtant le pas en juin 1995. Cette décision transforma radicalement la nature du projet : de développement fermé entre deux collaborateurs, R devint une initiative collaborative internationale.

La création des listes de diffusion automatisées à l'ETH Zurich en 1996 accéléra les contributions externes. Les rapports d'anomalies, les suggestions et les correctifs affluèrent. Le langage s'enrichit progressivement de nouvelles fonctionnalités. Face à l'ampleur des contributions, un groupe plus large de développeurs principaux se forma en 1997, établissant une structure organisationnelle qui perdure.

L'année 2000 marqua une étape importante avec la création de la R Foundation for Statistical Computing, organisation à but non lucratif basée à Vienne. Cette fondation, constituée par les membres de l'équipe de développement, s'assigna trois objectifs : soutenir le développement continu de R, fournir un point de référence pour les interactions avec la communauté, et gérer les droits d'auteur du logiciel et de sa documentation.

R s'imposa comme un outil statistique complet, aux capacités étendues de manipulation de données, de calcul et de visualisation graphique. Son architecture modulaire autorisa l'ajout de fonctionnalités via des packages, enrichissant sans cesse ses possibilités d'application. Le système intégra des opérateurs performants pour les calculs matriciels, une collection d'outils d'analyse statistique, et des fonctionnalités graphiques sophistiquées. La documentation adoptait un format proche de LaTeX, garantissant une documentation exhaustive accessible en ligne et en version imprimée. Cette approche, combinée à la disponibilité du code source, donnait aux utilisateurs les moyens de comprendre le comportement des fonctions.

Le modèle de développement de R illustre les avantages du logiciel libre dans le domaine scientifique. La collaboration internationale des développeurs, la revue par les pairs du code source, et les tests approfondis dans diverses situations réelles contribuèrent à la robustesse du logiciel. La taille de la communauté d'utilisateurs, estimée en dizaines voire centaines de milliers de personnes, multipliant les vérifications et améliorations du code, renforça cette solidité.

Le cycle de développement suit un rythme régulier avec des versions majeures publiées annuellement depuis 2013. Chaque version fait l'objet de tests rigoureux, incluant des phases alpha, bêta et release candidate, concernant autant le code source que les versions binaires précompilées pour différentes plateformes. L'équipe maintient un système de gestion de versions basé sur Subversion, avec des branches distinctes pour la version stable et la version de développement. Les corrections d'erreurs sont intégrées dans la branche stable, tandis que les nouvelles fonctionnalités importantes sont développées dans la branche de développement.

L'impact de R sur la recherche statistique et l'analyse de données dépasse le cadre universitaire. Son adoption dans l'industrie, notamment dans les secteurs de la finance, de la recherche pharmaceutique et de l'analyse de données massives, témoigne de sa maturité technique. La disponibilité d'interfaces avec d'autres langages comme C, C++ et Fortran étend ses capacités aux calculs intensifs.

L'héritage de R réside dans sa combinaison d'un langage de programmation véritablement fonctionnel avec un environnement statistique complet. Cette association donne aux statisticiens les moyens de développer et tester de nouvelles méthodes d'analyse tout en offrant aux utilisateurs finaux un outil pratique et extensible. La pérennité du projet repose sur une infrastructure distribuée, incluant un réseau mondial de miroirs CRAN (Comprehensive R Archive Network) qui assure la disponibilité des ressources. Ce réseau distribue le logiciel principal ainsi que des milliers de packages complémentaires développés par la communauté.