Expansion and evolution of the R programming language

被引:5
|
作者
Staples, Timothy L. [1 ]
机构
[1] Univ Queensland, Sch Biol Sci, Bldg 60, St Lucia, Qld 4072, Australia
来源
ROYAL SOCIETY OPEN SCIENCE | 2023年 / 10卷 / 04期
基金
澳大利亚研究理事会;
关键词
software linguistics; programming functions; lexicon; GitHub repositories; LINGUISTIC STRUCTURE; COMPUTER-SCIENCE; EXTINCTION; FREQUENCY; SOFTWARE;
D O I
10.1098/rsos.221550
中图分类号
O [数理科学和化学]; P [天文学、地球科学]; Q [生物科学]; N [自然科学总论];
学科分类号
07 ; 0710 ; 09 ;
摘要
Languages change over time, driven by creation of new words and cultural pressure to optimize communication. Programming languages resemble written language but communicate primarily with computer hardware rather than a human audience. I tested whether there were detectable 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', pairing linguistic and ecological analyses to detect change to diversity and composition of functions used over time. I found 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 change the nature of programming languages, with patterns that match known processes from natural languages and genetic evolution. In R, there appear to be selective pressures for increased analytic complexity and R functions in decline that are not yet 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.
引用
收藏
页数:12
相关论文
共 50 条
  • [1] Genetic Programming and Autoconstructive Evolution with the Push Programming Language
    Lee Spector
    Alan Robinson
    Genetic Programming and Evolvable Machines, 2002, 3 (1) : 7 - 40
  • [2] A Fuzzy Toolbox for the R Programming Language
    Wagner, Christian
    Miller, Simon
    Garibaldi, Jonathan M.
    IEEE INTERNATIONAL CONFERENCE ON FUZZY SYSTEMS (FUZZ 2011), 2011, : 1185 - 1192
  • [3] A Fortran evolution of mpC parallel programming language
    Kalinov, Alexey
    Ledovskikh, Ilya
    Posypkin, Mikhail
    Levchenko, Zakhar
    Chizhov, Vladimir
    PARALLEL PROCESSING AND APPLIED MATHEMATICS, 2006, 3911 : 936 - 943
  • [4] Poster: A Topic Analysis of the R Programming Language
    Atchison, Abigail
    Anderson, Haley
    Berardi, Christina
    Best, Natalie
    Firmani, Cristiano
    German, Rene
    Linstead, Erik
    PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING - COMPANION (ICSE-COMPANION, 2018, : 183 - 184
  • [5] ON THE USE OF R PROGRAMMING LANGUAGE IN THE ANALYSES OF SPATIAL DATA
    Kobal, Milan
    Ceglar, Andrej
    Eler, Klemen
    Medved-Cvikl, Barbara
    Honzak, Luka
    Simoncic, Primoz
    Hladnik, David
    ACTA SILVAE ET LIGNI, 2013, (102): : 55 - 62
  • [6] A toolbox for fuzzy clustering using the R programming language
    Ferraro, Maria Brigida
    Giordani, Paolo
    FUZZY SETS AND SYSTEMS, 2015, 279 : 1 - 16
  • [7] Grooming, gossip and the evolution of language - Dunbar,R
    Shaw, G
    LIBRARY JOURNAL, 1997, 122 (06) : 91 - 91
  • [8] APE: Analyses of Phylogenetics and Evolution in R language
    Paradis, E
    Claude, J
    Strimmer, K
    BIOINFORMATICS, 2004, 20 (02) : 289 - 290
  • [9] GROOMING, GOSSIP AND THE EVOLUTION OF LANGUAGE - DUNBAR,R
    CLARK, SRL
    TLS-THE TIMES LITERARY SUPPLEMENT, 1996, (4875): : 25 - 26
  • [10] Grooming, gossip, and the evolution of language - Dunbar,R
    Mithen, S
    CAMBRIDGE ARCHAEOLOGICAL JOURNAL, 1997, 7 (01) : 152 - 157