Programming for Distributed Computing: From Physical to Logical Networks

  • Christian ScheidelerEmail author
  • Kalman Graffi


The first programming languages predate computers and were mostly used as a form of mathematical reasoning. With the advent of modern electronic computers, programming languages became prominent as tools to specify and control the behaviour of these machines. A programming language is an artificial language that makes use of the functions that can be performed by a machine and allows one to express algorithms precisely. Early languages (see Chap. 4) were Fortran (1957) and Algol (1958), which were used for numerical computations. Cobol was issued in 1962 and optimized for business applications. Many other influential languages emerged from the late 1960s to the late 1970s, among them Simula (which introduced object-oriented programming), C, Smalltalk, Prolog (the first logic programming language) and ML (realizing a polymorphic type system on top of Lisp). Each of these languages spawned an entire family of descendants, and most modern languages count at least one of them in their ancestry.


Programming Language Shared Memory Parallel Programming Message Passing Interface Message Passing 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. O. Bonorden, B. Juurlink, I. von Otte, and I. Rieping. The Paderborn University BSP (PUB) library. Parallel Computing, 29:187–207, February 2003CrossRefGoogle Scholar
  2. F. Dabek, B. Y. Zhao, P. Druschel, J. Kubiatowicz, I. Stoica: Towards a Common API for Structured Peer-to-Peer Overlays. IPTPS 2003:33–44Google Scholar
  3. J. Dean and S. Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. Commun. ACM, 51(1):107–113, 2008CrossRefGoogle Scholar
  4. C. A. R. Hoare: Communicating Sequential Processes. Commun. ACM (CACM) 21(8):666–677 (1978)CrossRefzbMATHGoogle Scholar
  5. H. Kasim, V. March, R. Zhang, and S. See. Survey on Parallel Programming Model. In, Network and Parallel Computing, volume 5245 of Lecture Notes in Computer Science, pages 266–275, 2008Google Scholar
  6. R. J. Lipton and J. S. Sandberg. PRAM: A Scalable Shared Memory. Technical Report, TR-180-88, Princeton University, Dept. of Computer Science, Sept. 1988Google Scholar
  7. P. S. Pacheco. Parallel Programming with MPI. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1996Google Scholar
  8. I. Stoica, R. Morris, D. R. Karger, M. F. Kaashoek, H. Balakrishnan: Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications. SIGCOMM 2001:149–160.CrossRefGoogle Scholar
  9. V. S. Sunderam. PVM: A Framework for Parallel Distributed Computing. Concurrency – Practice and Experience, 2(4):315–339, 1990CrossRefGoogle Scholar
  10. R. L. Wexelblat (Ed). History of Programming Languages. Academic Press, 1981Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of PaderbornPaderbornGermany

Personalised recommendations