Affiliation:
1. Vrije Univ., Amsterdam, The Netherlands
2. Open Software Foundation, Cambridge, MA
Abstract
When distributed systems first appeared, they were programmed in traditional sequential languages, usually with the addition of a few library procedures for sending and receiving messages. As distributed applications became more commonplace and more sophisticated, this ad hoc approach became less satisfactory. Researchers all over the world began designing new programming languages specifically for implementing distributed applications. These languages and their history, their underlying principles, their design, and their use are the subject of this paper.
We begin by giving our view of what a distributed system is, illustrating with examples to avoid confusion on this important and controversial point. We then describe the three main characteristics that distinguish distributed programming languages from traditional sequential languages, namely, how they deal with parallelism, communication, and partial failures. Finally, we discuss 15 representative distributed languages to give the flavor of each. These examples include languages based on message passing, rendezvous, remote procedure call, objects, and atomic transactions, as well as functional languages, logic languages, and distributed data structure languages. The paper concludes with a comprehensive bibliography listing over 200 papers on nearly 100 distributed programming languages.
Publisher
Association for Computing Machinery (ACM)
Subject
General Computer Science,Theoretical Computer Science
Cited by
155 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. The Analysis of Distributed Computing Systems with Machine Learning;2023 International Conference on Networking, Informatics and Computing (ICNETIC);2023-05
2. Detecting Missing-Permission-Check Vulnerabilities in Distributed Cloud Systems;Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security;2022-11-07
3. Big Data Analytics With Cloud, Fog, and Edge Computing;Advanced Analytics and Deep Learning Models;2022-05-06
4. Emerging Technologies;Emerging Technologies;2022
5. Estimating the overhead and coupling of scientific computing clusters;SIMULATION;2021-12-27