[erlang-questions] Erlang and Ada

Ramon Diaz-Uriarte <>
Thu Mar 29 12:00:12 CEST 2007

Dear All,

I was looking for a comparison of Erlang with Ada and could find very
little (I searched comp.lang.ada, the erlang list, and lambda the
ultimate, and did a variety of goodle searches). I understand that the
two languages have different origins and have been mainly applied in
different areas (telecom --Erlang-- vs. aviation and military --Ada).
But it seems both are unique among "major languages" in the support
they provide for concurrent and distributed programming using message
passing. Why, then, so few comparisons among the two?

In case it is relevant for anyone, I found the following masters thesis (?)

"Comparison of the Concurrency Concepts of Ada, CHILL, Erlang, and
Java" by Frank Ecke
interesting in that regard (there is another one by P. Brömel, but
being in German is inaccessible to me).

If I understand correctly from the docs of each of the languages, etc,
the main differences between the two (besides the difference in
dynamic and functional (Erlang) vs. statics and imperative (Ada)) are:

- Erlang uses asynchronous message passing, whereas Ada uses
synchronous message passing. However, as F. Ecke shows above, it is
possible to "trick" both languages into doing synchronous (Erlang) and
asynchronous (Ada) without much trouble.

- The concurrency and distributed computing aspects of Erlang
emphasize fault tolerance.

- Whether you use multiple Erlang processes within a machine or over
several machines (e.g., a cluster) is generally transparent (i.e.,
code to cover these situations and things in between does not require

(Sure, there are many other differences from syntax to interpreter to
libraries, etc).

Am I missing something obvious?



Ramon Diaz-Uriarte
Statistical Computing Team
Structural Biology and Biocomputing Programme
Spanish National Cancer Centre (CNIO)

More information about the erlang-questions mailing list