Modelling the Evolution of Programming Languages
Silvia Crafa

TL;DR
This paper explores how biological evolutionary concepts can be applied to understand the development and diversification of programming languages, revealing complex patterns and offering new analytical tools.
Contribution
It demonstrates the applicability of Darwinian evolutionary mechanisms to programming languages and identifies rich evolutionary patterns in their history.
Findings
Evolutionary building blocks are present in programming languages.
Rich patterns like co-evolution and niche construction are observed.
Critical issues in applying biological models to programming languages are discussed.
Abstract
Programming languages are engineered languages that allow to instruct a machine and share algorithmic information; they have a great influence on the society since they underlie almost every information technology artefact, and they are at the core of the current explosion of software technology. The history of programming languages is marked by innovations, diversifications, lateral transfers and social influences; moreover, it represents an intermediate case study between the evolution of human languages and the evolution of technology. In this paper we study the application of the Darwinian explanation to the programming languages evolution by discussing to what extent the evolutionary mechanisms distinctive of biology can be applied to this area. We show that a number of evolutionary building blocks can be recognised in the realm of computer languages, but we also identify critical…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsEvolutionary Algorithms and Applications · Language and cultural evolution · Evolutionary Game Theory and Cooperation
