The “R Vs. Python” Debate in The Digital Humanities
The “R Vs. Python” Debate in The Digital Humanities
INTRODUCTION
A lively debate has been underway for a number of years in the data science community concerning the relative merits (or superiority in some cases) of Python and R, the two most popular programming languages for data science and for the digital humanities, with committed partisans on both sides of the issue. The debate is taking place in various professional communities, particularly in the data science, scientific/engineering/biomedical, and digital humanities areas. Python and R are the leading programming languages in the digital humanities. JavaScript and compiled languages, such as C (or C++) and Java are also used, but less frequently.
The general “consensus” (very loosely defined) that has emerged from these debates is that Python is recognized as the premier general purpose programming language, but that R, more focused on data analysis and statistics, is more intuitive and facilitates data exploration. To some, Python has a steeper learning curve. It is an extensible language, meaning that its core does not support an expansive array of functionality, but this functionality can be incorporated through interoperable libraries. R, on the other hand, has been praised for its ease of use and for its sophisticated visualization capabilities, and is considered by some to be easily integrated into data analysis workflows. R is particularly popular with statisticians and those working in data mining or with very large data.
As discussed in a previous section, many programming languages are available for a variety of purposes. For general purpose, enterprise computing, where large, complex, reliable systems are needed and where efficiency is at premium, software developers typically select compiled languages that are compiled into object code and linked with library functions to generate executable code. Among those languages, C is a clear favourite. C ranked #2 in the Tiobe Index (December 2021) [https://www.tiobe.com/tiobe-index/], which measures the popularity of programming languages based on the quantity of search engine results for queries on the languages (note that these rankings do not indicate the “best” language, or the suitability of any given language for a particular purpose). This language ranked #3 on the IEEE (Institute of Electrical and Electronics Engineers) Spectrum Top Programming Languages for 2021 [https://spectrum.ieee.org/top-programming-languages/]. Like the Tiobe Index, the IEEE Spectrum rankings are metrics of programming language popularity. The rankings are calculated through a weighted combination of eleven metrics from eight web-based sources, including Google, CareerBuilder, and Twitter [https://spectrum.ieee.org/top-programming-languages/]. On that site, C is “…used to write software where speed and flexibility are important, such as in embedded systems or high-performance computing”. Although not prominent in the development of web sites or web app