Diversification and change in the R programming language
Data files
Mar 27, 2023 version files 6.25 GB
-
commonFunctionLong.csv
-
README.md
Abstract
Languages change over time, driven by creation of new words and cultural pressure to optimise communication. Programming languages resemble written language but communicate primarily with computer hardware rather than a human audience. I tested for changes over time in use of R, a mature, open-source programming language used for scientific computing. Across 393,142 GitHub repositories published between 2014 and 2021, I extracted 143,409,288 R functions, programming “verbs”, and paired linguistic and ecological approaches to estimate change in the diversity and composition of function use over time. I found that the number of R functions in use increased and underwent substantial change, driven primarily by the popularity of the “tidyverse” collection of community-written extensions. I provide evidence that users can directly change the nature of programming languages, with patterns that match known processes from natural languages and genetic evolution. In the case of R, patterns suggested there are selective pressures for increased analytic complexity and R functions in decline but not extinct (“extinction debts”). R’s evolution towards the tidyverse may also represent the start of a division into two distinct dialects, which may impact the readability and continuity of analytic and scientific inquiries codified in R, as well as the language’s future.
Methods
Full methodology for this dataset is available in the manuscript, and the R code to process this is located in a GitHub repository: https://github.com/TimothyStaples/Revolution
Usage notes
This is a comma-separated values file intended for use in the galaxy_analysis.R script in https://github.com/TimothyStaples/Revolution