MAINTENANCE EN COURS / SITE UNDER MAINTENANCE

Une opération de maintenance est en cours: les résultats de recherches et les exportations peuvent être incohérent.
Site under maintenance: search & exportation results could be inconsistent.
 

Convergence in language design: A case of lightning striking four times in the same place

(2006) 8th International Symposium on Functional and Logic Programming — Location: Fuji Inst Educ & Training, Fuji Susono (Japan) (24.April.2006)

Files

pdfdocument.pdf
  • Restricted Access
  • Adobe PDF
  • 256.77 KB

Details

Authors
Abstract
What will a definitive programming language look like? By definitive language I mean a programming language that gives good solutions at its level of abstraction, allowing computer science researchers to move on and work at higher levels. Given the evolution of computer science as a field with a rising level of abstraction, it is my belief that a small set of definitive languages will eventually exist. But how can we learn something about this set, considering that many basic questions about languages have not yet been settled? In this paper, I give some tentative conclusions about one definitive language. I present four case studies of substantial research projects that tackle important problems in four quite different areas: fault-tolerant programming, secure distributed programming, network-transparent distributed programming, and teaching programming as a unified discipline. All four projects had to think about language design. In this paper, I summarize the reasons why each project designed the language it did. It turns out that all four languages have a common structure. They can be seen as layered, with the following four layers in this order: a strict functional core, then deterministic concurrency, then message-passing concurrency, and finally shared-state concurrency (usually with transactions). This confirms the importance of functional programming and message passing as important defaults; however, global mutable state is also seen as an essential ingredient.
Affiliations

Citations

Van Roy, P. (2006). Convergence in language design: A case of lightning striking four times in the same place. Lecture Notes in Computer Science, 3945, 2-12. https://doi.org/10.1007/11737414_2 (Original work published 2006)