Created by Mark S. Miller, Dan Bornstein, Douglas Crockford, Chip Morningstar, and others at Electric Communities in 1997, the E programming language was chiefly influenced by Joule and Original-E, a set of extensions to Java.
E is an object-oriented programming language for secure distributed computing, which combines message-based computation with Java-like syntax. It has a concurrency model based on event loops and promises that ensure that deadlock can never occur.
E was designed for computer security and secure computing, employing a capability-based design philosophy throughout in order to help programmers build secure software, and to enable software components to cooperate even when they don't fully trust each other.
In E, object references serve as capabilities, so capabilities don't add computational or conceptual overhead costs. Its language syntax is designed to be easy for people to audit for security flaws.
All values in E are objects, and computation is performed by sending messages to objects. Each object belongs to a vat, which might be thought of as a process. Each vat has a single thread of execution, a stack frame, and an event queue. Distributed programming is accomplished through messages sent to remote objects in other vats, and the E runtime encrypts all communication with remote parties. Arriving messages are placed in the vat's event queue, and the vat's event loop processes the incoming messages one by one, in order of arrival.
The syntax of E is most similar to Java, although it has some resemblance to Python and Pascal. Unlike Jave or Python, however, E is composed entirely of expressions.
E has two implementations, one based on Java, the other based on Common Lisp.
The focus of this portion of our web guide is on the E programming language. Topics related to the language, its implementations, repositories, and source codes are appropriate for this category, as are E tutorials and guides, manuals, documentation, forums, or E community websites.
 
 
Recommended Resources
Douglas Crockford was one of the chief developers of the E programming language, and numerous other accomplishments. His website includes a white paper, programmer's manual, tutorial, datasheet, glossary, and trust manager for E, as well as information about the variety of content, such as books he has written, videos, and his work on or for JavaScript, Misty, JSLint, JSON, GitHub, and Electric Communities, as well as links to other online resources that he has a hand in.
https://www.crockford.com/
The official webpage of E, an object-oriented programming language designed for secure distributed computing, features a Wiki that includes most of the information about the language, including documentation, download links, applications, development, and community resources. Links to other sites featuring applications developed through E, as well as suggestions for books and other resources, additional tutorial material, release notices, and development notes.
http://www.erights.org/
GitHub repositories related to the E programming language are listed here. Currently, these include the official GitHub repository for the programming language itself, a compiler, debug tools, an IDA plugin for analyzing a compiled file, a repository of tools for learning the E language, an IDE for the E language known as Easy-E-IDE, an IDE submodule for SNU programming tools, and the source code for A1200s, which contains E programming language datasets.
https://github.com/topics/e-language
Created by the same team that followed up with the E programming language, Original-E was a set of extensions to Java. A programmer's manual, datasheet, and other documentation and discussion of Original-E (referred to as E here) are provided, including using the EC Trust Manager to secure Java, the EC distributed garbage collector, a walkthrough of a simple Original-E program, an introduction to secure protocol design with examples, and a distributed commerce demo.
http://erights.org/history/original-e/
The Programming Language DataBase (PLDB) is a public domain database and website with thousands of facts about thousands of programming languages, along with information about the concepts of these languages. Its section on the E programming language, an open-source language created in 1997 by Mark S. Miller, includes a description of the language, links to other online resource about the language, examples of coding in E, and an overview of several E features, such as strings and line comments.
https://pldb.pub/concepts/e.html
Inspired by the Rosetta Stone, which has the same text inscribed on it in three languages, Rosetta Code is a programming site that seeks to present coding solutions to the same task in as many different programming languages as possible, in order to demonstrate how programming languages are both similar and different, and to aid programmers become grounded in one approach to a problem in learning another. Its section on C gives an introduction to the language, as well as a syntax of examples.
https://rosettacode.org/wiki/Category:E