#REDIRECT [[Distributed computing]]
'''Distributed programming''' is a [[programming paradigm]] focusing on [[design]]ing [[Distributed computing|distributed]], [[Distributed computing#openness|open]], [[scalable]], [[transparent]], [[fault tolerant]] systems. This paradigm is a natural result of the use of computers to form networks.
Nearly any [[programming language]] that has access to the full [[hardware]] of the system could handle distributed programming given enough time and code. [[Remote procedure call]]s distribute [[operating system]] commands over a network connection. Systems like [[CORBA]], Microsoft [[DCOM |D/COM]], [[Java RMI]] and others, try to map [[object oriented]] design to the network. Loosely coupled systems that communicate through intermediate documents that are typically human readable are [[XML]], [[HTML]], [[SGML]], [[X.500]], and [[EDI]].
Distributed programming typically falls into one of several basic architectures or categories: [[Client-server]], [[Three-tier (computing)|3-tier architecture]], [[Multitier architecture|N-tier architecture]], [[Distributed object]]s, [[Loosely Coupled|Loosely coupled]], or [[Computer cluster|Tightly coupled]].
Distributed programming interrelates tightly with [[concurrent programming]] so much that they are sometimes not taught as distinct subjects [http://www.cs.technion.ac.il/~cs236370/main.html].
Languages specifically tailored for distributed programming are:
*[[Oz programming language]]
*[[E programming language]]
*[[Ada programming language]]
==See also==
*[[:Category:Concurrent programming languages]]
==External links==
*[http://www.mozart-oz.org/mogul/info/category/dp.html MOGUL Oz Distributed Programming]
{{Major programming languages small}}
[[Category:Programming paradigms]]
[[de:Verteiltes System]]
|