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 abstra...
The analogies and differences between biological and cultural evolution have been explored by evolut...
AbstractInterference is what makes the design of concurrent programs difficult. In the case of share...
This paper describes the evolution of language features for multiprogramming from event queues and s...
Programming languages are engineered languages that allow to instruct a machine and share algorithmi...
One might think that specifying and reasoning about concurrent programs would be easier with more ex...
One might think that specifying and reasoning about concurrent programs would be easier with more ex...
. In many concurrent programming languages, concurrent programs are difficult to extend and modify: ...
One might think that specifying and reasoning about concurrent programs would be easier with more ex...
In this thesis, we investigate some of the options programmers have when writing a concurrent progra...
This article is about programming languages, that has improved over time and is still evolving. The ...
Concurrency control in modern programming languages is typically managed using mechanisms based on m...
AbstractIn this article we review the current state of concurrency theory with respect to its indust...
Multicore and manycore computers are the norm nowadays, and users have expectations that their progr...
The major issues of modern software are its size and complexity, and its major problems involve find...
In this paper the main approaches to constructing concurrent programs will be presented and compared...
The analogies and differences between biological and cultural evolution have been explored by evolut...
AbstractInterference is what makes the design of concurrent programs difficult. In the case of share...
This paper describes the evolution of language features for multiprogramming from event queues and s...
Programming languages are engineered languages that allow to instruct a machine and share algorithmi...
One might think that specifying and reasoning about concurrent programs would be easier with more ex...
One might think that specifying and reasoning about concurrent programs would be easier with more ex...
. In many concurrent programming languages, concurrent programs are difficult to extend and modify: ...
One might think that specifying and reasoning about concurrent programs would be easier with more ex...
In this thesis, we investigate some of the options programmers have when writing a concurrent progra...
This article is about programming languages, that has improved over time and is still evolving. The ...
Concurrency control in modern programming languages is typically managed using mechanisms based on m...
AbstractIn this article we review the current state of concurrency theory with respect to its indust...
Multicore and manycore computers are the norm nowadays, and users have expectations that their progr...
The major issues of modern software are its size and complexity, and its major problems involve find...
In this paper the main approaches to constructing concurrent programs will be presented and compared...
The analogies and differences between biological and cultural evolution have been explored by evolut...
AbstractInterference is what makes the design of concurrent programs difficult. In the case of share...
This paper describes the evolution of language features for multiprogramming from event queues and s...