2009-07-06

orca -- the python replacement

6.21:
. python was developed on Amoeba but that platform now features orca?
http://www.cs.vu.nl/~ast/publications/tse-1992.pdf

. orca has modula-2`syntax;
and is for parallel programming on distributed systems,
based on the shared data-object model,
a simple and portable form of object-based
distributed shared memory. [threads are sharing ada`protected-types]
Processes communicate through shared data,
even if the processors on which they run
do not have physical shared memory,
using a novel broadcast protocol .

. Message passing is less suitable if several processes need to
communicate indirectly, by sharing globals .
[ they are talking about the same thing ada was
when it added protected types as an ipc mechanism
after it was noticed that the rendezvous
couldn't do the entire ipc job by itself efficiently ] .

. studying the implementation of
parallel applications on distributed systems,
we started out by implementing several
coarse-grained parallel applications on top of the Amoeba system,
using an existing sequential language extended with
message passing for interprocess communication

We felt that, for parallel applications,
both the use of message passing and a sequential base language
are complicated for applications programmers to use.
Since then,
we have developed a new language for distributed programming .
[and, like python] Orca is intended for
applications programming rather than systems programming .
. the Orca constructs are designed to have
semantics close to conventional languages,
thus making it easy for programmers to learn Orca.
An important goal in the design of Orca was to keep the language simple .

Most distributed languages simply
add primitives for parallelism and communication
to a sequential base language, but ignore problems due to
poor integration with sequential constructs .
. A typical example is passing a pointer in a message,
which is usually not detected and may cause great havoc .