Programming Languages
Programming Languages#
The number and kinds of programming languages provide insight into the skills required of code contributors and the nature of the projects themselves. This metric can help newcomers navigate open source projects, as well as enable project and product managers to gain insight into the project’s profile within the context of their own experience and organisations. It can also help inform students on which programming languages they might focus their efforts on learning, depending on their topic of interest.
Python dominates the OSS movement for sustainability and is used in 39.8% of all projects, followed by R (16.7%), Jupyter notebooks (9.34%) and other languages like Fortran, C++ and Java. Statistics from GitHut 2.0 or the official numbers of GitHub provide insights into the programming language usage of Open Source projects. Compared to the broader open source ecosystem, it is clear that Python has a significantly higher use within the repositories analysed, compared to widely popular languages, such as JavaScript. This indicates a strong focus on analysing large datasets, where Python and Jupyter Notebooks are increasingly dominant, with less focus on the web application side. Python, in particular, is the language of choice in projects in energy modelling, biosphere, hydrosphere, wind energy, buildings and heating. Python is considered to be an energy-inefficient programming language. However, in practice, computationally intensive operations are typically offloaded to energy-efficient processes (e.g., via a C-API) using libraries such as NumPy.
The use of R deviates significantly from other statistics and has a high prevalence within the software world. A concentration of R developments can be found, particularly within the topics of biosphere, hydrosphere, water supply, soil and land use, climate, and food and agriculture. This can be attributed to the high number of data statistical-related projects within these topics, and the low number of general web development projects within the field of Sustainable Development. Despite its advanced age of over 65 years, Fortran is still widely used in the Earth system models applied across hydrosphere, climate and atmosphere fields. This can be explained by the long development time of these projects, and the necessary numerical efficiency of such models for high-performance computing.
Julia, a relatively new language, also has a wide range of applications. For some special use cases, such as building simulation, programming languages like Modelica are frequently used.