R
Two statisticians from the University of Auckland, Ross Ihaka and Robert Gentleman, were seeking a statistical environment for their teaching laboratory on Macintosh. Their reading of Abelson and Sussman’s book, The Structure and Interpretation of Computer Programs, and their interest in the Scheme language led them to develop a minimalist C interpreter of approximately one thousand lines of code. What began as an experiment would become one of the most widely used tools in statistics and data analysis.
The choice to adopt a syntax close to the S language, created at Bell Labs by John Chambers and his team, was natural. This decision ensured a degree of familiarity for statisticians accustomed to S, while leaving the freedom to innovate technically. R retained specific features inherited from Scheme, particularly in its memory management with fixed-allocation garbage collection that limited paging problems. Lexical scoping rules allowed functions to access variables defined at their creation, a characteristic that distinguished R from its contemporaries.
In August 1993, Ihaka and Gentleman deposited their first binary versions on StatLib and announced their work on the s-news mailing list. Martin Mächler from ETH Zurich, intrigued by the project, encouraged them to release the source code under the GNU GPL license. This suggestion was initially met with caution. The two researchers hesitated to fully open their code. Yet they took the leap in June 1995. This decision radically transformed the nature of the project: from a closed development between two collaborators, R became an international collaborative initiative.
The creation of automated mailing lists at ETH Zurich in 1996 accelerated external contributions. Bug reports, suggestions, and patches flowed in. The language progressively gained new functionalities. Faced with the scale of contributions, a larger group of core developers formed in 1997, establishing an organizational structure that endures.
The year 2000 marked an important milestone with the creation of the R Foundation for Statistical Computing, a non-profit organization based in Vienna. This foundation, formed by members of the development team, assigned itself three objectives: supporting the continued development of R, providing a reference point for interactions with the community, and managing the copyright of the software and its documentation.
R established itself as a comprehensive statistical tool with extensive capabilities for data manipulation, computation, and graphical visualization. Its modular architecture allowed the addition of functionalities through packages, constantly enriching its application possibilities. The system integrated powerful operators for matrix calculations, a collection of statistical analysis tools, and sophisticated graphical functionalities. The documentation adopted a format close to LaTeX, ensuring comprehensive documentation accessible both online and in print. This approach, combined with the availability of source code, gave users the means to understand function behavior.
R’s development model illustrates the advantages of free software in the scientific domain. International collaboration among developers, peer review of source code, and thorough testing in various real-world situations contributed to the software’s robustness. The size of the user community, estimated in tens or even hundreds of thousands of people, multiplying code verifications and improvements, reinforced this solidity.
The development cycle follows a regular rhythm with major versions published annually since 2013. Each version undergoes rigorous testing, including alpha, beta, and release candidate phases, concerning both source code and precompiled binary versions for different platforms. The team maintains a version management system based on Subversion, with distinct branches for the stable version and the development version. Bug fixes are integrated into the stable branch, while significant new functionalities are developed in the development branch.
R’s impact on statistical research and data analysis extends beyond the academic framework. Its adoption in industry, particularly in the finance, pharmaceutical research, and big data analysis sectors, testifies to its technical maturity. The availability of interfaces with other languages such as C, C++, and Fortran extends its capabilities to intensive computing.
R’s legacy lies in its combination of a truly functional programming language with a comprehensive statistical environment. This association gives statisticians the means to develop and test new analytical methods while offering end users a practical and extensible tool. The project’s sustainability rests on a distributed infrastructure, including a worldwide network of CRAN mirrors (Comprehensive R Archive Network) that ensures resource availability. This network distributes the core software as well as thousands of complementary packages developed by the community.