Are Programming Languages the Key to Distributed Systems?
Distributed systems are notoriously hard to design and implement as they pose fundamental challenges on software design, especially with respect to concurrency, fault tolerance, data consistency, and privacy. In this talk, we argue that programming languages are a fundamental tool to tackle the complexity of distributed systems.
We first discuss concrete examples of how abstractions offered by programming languages have been fundamental in solving problems in distributed systems. Then we discuss recent research results in this area, such as abstractions for data consistency and behavioral types for distributed applications. Finally, we outlook promising research directions.
|Keynote Slides (keynote_VCOOP.pdf)
Guido Salvaneschi is leading the Programming group at the School of Computer Science, University of St. Gallen, Switzerland. He holds a PhD in Information Technology from Politecnico di Milano, Italy. He has been a postdoc and an Assistant Professor at the at the Technical University of Darmstadt, Germany. His research has been supported, among the others, by the German Research Foundation (DFG) and by the Swiss National Science Foundation (SNSF). He has published papers in a number of programming languages and software engineering venues including OOPSLA, PLDI, ECOOP, ICSE, FSE and ASE. Personal website: https://programming-group.com/.