分散コンピューティング
3層システムは、クライアントとサーバの間に中間層を置く形態で、それによってクライアントの処理が軽減される。そのためアプリケーション配布が単純化される。多くのウェブアプリケーションは3層である。
システム内のあらゆるハードウェアにアクセスできるプログラミング言語は、時間さえあれば分散プログラミングに使える。遠隔手続き呼出し (RPC) は、オペレーティングシステムのコマンドをネットワーク経由で分散配布する。オブジェクト指向設計をネットワークにマッピングしようとする試みとして、CORBA、マイクロソフトのDCOM、Java RMI などがある。疎結合システムでは、一般に人間にも読める中間文書を使って通信を行う(例えば、XML、HTML、SGML、X.500、EDI)。
分散プログラミング向けに機能が強化されている言語としては、以下のものがある。
Ada
Alef
E言語
Erlang
Limbo
KL1
Oz
Strand
ZPL
Orca
不特定多数、または特定多数のコンピューターに処理させるためにセキュリティ面で脆弱になりやすい
上記されているように問題データの分配、収集、集計するためのネットワークの負荷が増加する
一般参加者を募る場合、志願者が少ないとその分処理も遅れる
何らかの通信システムで個々のコンピュータ上で動作するプロセスを相互接続しなければならない。