[erlang-questions] Erlang and Ada

Ramon Diaz-Uriarte <>
Fri Mar 30 00:19:03 CEST 2007


On 3/29/07, Ulf Wiger (TN/EAB) <> wrote:
>
>
> One missing detail in your list is that Erlang
> lacks global variables, while Ada has them.
> Erlang thus consistently employs "share-nothing
> concurrency", while this is optional in Ada. This
> is one of the fundamental reasons why you have
> distribution transparency fairly routinely in
> Erlang, while it is by no means given in e.g.
> Ada.

Ooops!! Yes, you are right.


>
> In the very early history of Erlang, a study called
> SPOTS (SPC* for POTS**) was done. It involved writing
> a phone switch control system in several different
> languages. The project was sketched by Mike Williams
> back in 1981, and carried out, as I understand it,
> 1982-1984. It involved experiments using e.g.
> CHILL, Ada, Concurrent Euclid, CCS, LPL, Frames,
> CLU and OPS4 - i.e. imperative declarative, object-
> oriented and rule-based programming environments.
>
> A report was presented at:
>
> "Experiments with Programming Languages and Techniques
> for Telecommunications Applications"
> (Bjarne Däcker, Nabiel Elshiewy, Per Hedeland,
> Carl Wilhelm Welin and Mike Williams)
> Software Engineering for Telecommunication
> Switching Systems, April 14-18, 1996, Eindhoven
>
> I'm sure it's difficult to come by, in electronic
> form or otherwise.
>

I only found links to patents.

> Back in those days, it was by no means easy to
> circumvent the synchonous nature of Ada's
> rendezvous, but I think I recall that Ada got
> pretty favourable reviews overall. I've often
> heard the comment that it wouldn't have been
> half bad if industry had chosen to standardize
> on Ada...
>
>

However, Ericsson decided to "invent" Erlang.


> Back in 1996, I also heard of a project sponsored by
> the Swedish Defense Industry, leading to a Master's
> Thesis:
>
> "Process-based Simulation of Interactive Agents in a Dynamic Terrain."
> Samuel Tronje.
> UU/CSD, 1995.
>
> It was a troop simulation program, which was supposed to
> have been written in Ada, but was never finished. A few
> students wrote it in Erlang in a few weeks. I've read the
> report once, but don't recall whether it contains any
> comparisons between Erlang and Ada. I also recall hearing
> that much attention at the demo was paid to the graphical
> user interface, so the reasons why the Ada project didn't
> succeed may well have very little to do with language-
> specific matters***.
>
> * SPC = Stored Program Controller
> ** POTS = Plain Ordinary Telephone System
> *** I recall a similar project where a contractor was to
>     build a prototype system for tracking vehicles as
>     overlays on digital maps. They couldn't handle a
>     live feed, but did have cute animated helicopters,
>     and were embarrassed that the helicopter flew upside-
>     down when going in the other direction. The organization
>     that ordered the work escorted them to the airport and
>     told them never to come back.
>

This is an interesting story :-).


Thanks for your comments.


R.

> BR,
> Ulf W
>
> > -----Original Message-----
> > From: 
> > [mailto:] On Behalf Of
> > Ramon Diaz-Uriarte
> > Sent: den 29 mars 2007 12:00
> > To: 
> > Subject: [erlang-questions] Erlang and Ada
> >
> > 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
> > (http://www1.informatik.uni-jena.de/Themen/pap-talk/studarb-pb-fe.htm)
> > 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 rewriting).
> >
> > (Sure, there are many other differences from syntax to
> > interpreter to libraries, etc).
> >
> >
> > Am I missing something obvious?
> >
> >
> >
> > Best,
> >
> > R.
> >
> > --
> > Ramon Diaz-Uriarte
> > Statistical Computing Team
> > Structural Biology and Biocomputing Programme Spanish
> > National Cancer Centre (CNIO) http://ligarto.org/rdiaz
> >
> > _______________________________________________
> > erlang-questions mailing list
> > 
> > http://www.erlang.org/mailman/listinfo/erlang-questions
> >
>


-- 
Ramon Diaz-Uriarte
Statistical Computing Team
Structural Biology and Biocomputing Programme
Spanish National Cancer Centre (CNIO)
http://ligarto.org/rdiaz




More information about the erlang-questions mailing list