The role of concurrency in an evolutionary view of programming abstractions
Silvia Crafa

TL;DR
This paper explores the evolution of concurrency in programming languages, emphasizing different abstraction levels and the importance of theoretical research in shaping programming paradigms from an evolutionary perspective.
Contribution
It offers an evolutionary analysis of how concurrency abstractions have developed in programming languages, highlighting the significance of changing frameworks and conceptual shifts.
Findings
Concurrency abstractions evolved at different levels of explanation.
Theoretical research influences the development of programming abstractions.
Evolutionary perspective unifies diverse programming language traits.
Abstract
In this paper we examine how concurrency has been embodied in mainstream programming languages. In particular, we rely on the evolutionary talking borrowed from biology to discuss major historical landmarks and crucial concepts that shaped the development of programming languages. We examine the general development process, occasionally deepening into some language, trying to uncover evolutionary lineages related to specific programming traits. We mainly focus on concurrency, discussing the different abstraction levels involved in present-day concurrent programming and emphasizing the fact that they correspond to different levels of explanation. We then comment on the role of theoretical research on the quest for suitable programming abstractions, recalling the importance of changing the working framework and the way of looking every so often. This paper is not meant to be a survey of…
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.
