E (programming language)

E is an object-oriented programming language for secure distributed computing, created by Mark S. Miller,[1] Dan Bornstein, Douglas Crockford,[2] Chip Morningstar[3] and others at Electric Communities in 1997.

E is mainly descended from the concurrent language Joule and from Original-E, a set of extensions to Java for secure distributed programming.

A concurrency model based on event loops and promises ensures that deadlock can never occur.

The E language and its standard library employ a capability-based design philosophy throughout in order to help programmers build secure software and to enable software components to co-operate even if they don't fully trust each other.

The language syntax is designed to be easy for people to audit for security flaws.

For example, lexical scoping limits the amount of code that must be examined for its effects on a given variable.

Since only eventual sends are allowed when communicating with remote objects, deadlocks cannot happen.

In distributed systems, the promise mechanism also minimizes delays caused by network latency.