Cargando…
Expansion and evolution of the R programming language
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...
Autor principal: | |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
The Royal Society
2023
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10090872/ https://www.ncbi.nlm.nih.gov/pubmed/37063989 http://dx.doi.org/10.1098/rsos.221550 |
_version_ | 1785023049339240448 |
---|---|
author | Staples, Timothy L. |
author_facet | Staples, Timothy L. |
author_sort | Staples, Timothy L. |
collection | PubMed |
description | 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. |
format | Online Article Text |
id | pubmed-10090872 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2023 |
publisher | The Royal Society |
record_format | MEDLINE/PubMed |
spelling | pubmed-100908722023-04-13 Expansion and evolution of the R programming language Staples, Timothy L. R Soc Open Sci Computer Science and Artificial Intelligence 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. The Royal Society 2023-04-12 /pmc/articles/PMC10090872/ /pubmed/37063989 http://dx.doi.org/10.1098/rsos.221550 Text en © 2023 The Authors. https://creativecommons.org/licenses/by/4.0/Published by the Royal Society under the terms of the Creative Commons Attribution License http://creativecommons.org/licenses/by/4.0/ (https://creativecommons.org/licenses/by/4.0/) , which permits unrestricted use, provided the original author and source are credited. |
spellingShingle | Computer Science and Artificial Intelligence Staples, Timothy L. Expansion and evolution of the R programming language |
title | Expansion and evolution of the R programming language |
title_full | Expansion and evolution of the R programming language |
title_fullStr | Expansion and evolution of the R programming language |
title_full_unstemmed | Expansion and evolution of the R programming language |
title_short | Expansion and evolution of the R programming language |
title_sort | expansion and evolution of the r programming language |
topic | Computer Science and Artificial Intelligence |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10090872/ https://www.ncbi.nlm.nih.gov/pubmed/37063989 http://dx.doi.org/10.1098/rsos.221550 |
work_keys_str_mv | AT staplestimothyl expansionandevolutionoftherprogramminglanguage |