In Starting E and Elmer, we see the various ways to get started interacting with an E interpreter.
In Example: Finding Text, we introduce the major concepts you need to get started programming in E as a conventional language. We use these concepts to write some simple functions for finding text in files on your disk.
In Standalone E Programs, we see how to package our findall function so that it can be invoked from our operating system's shell (MS-DOS or bash), and how to turn it into a launchable GUI application that prompts for its arguments using Swing dialog boxes.
In A 15 Minute Introduction to E, Marc Stiegler takes us on a quick tour of E's highlights, focusing on the features that distinguish E from other languages.
In Lambda-Based Objects, we see how to define new objects in E. E's object definitions are generalizations of the function definitions you've already written earlier in the tutorial. E objects have all the features found in objects made from traditional classes and prototypes, yet are actually simpler to define, and can even solve problems beyond the scope of traditional class structures.
In Introducing Remote Objects, we see how to give objects on different machines access to each other. An object may send a message to any object it has access to, whether it's local or remote. All the inter-machine communication is protected by the strong cryptography of E's Pluribus protocol.
Armed with secure distributed objects, Secureit-Echat is a secure two person chat program, written by Marc Stiegler in 5 pages of E (about 3 of which are user interface) and posted at his site. It's a great small example of how to write distributed secure applications in E.
In Simple Money Example, we see how a single page of E code can implement a payment system with most of the security properties required for real distributed electronic money. Money is the simplest interesting example of a Smart Contract -- an arrangement by which various mutually suspicious entities -- objects or people, it doesn't matter -- may attempt to cooperate with each other while not becoming vulnerable to each other.
In the end, one may say that normal object programming is about patterns of computation and abstraction, whereas programming in E is about patterns of cooperation without vulnerability. A world in which cooperation is less risky may be a more cooperative world.
Unless stated otherwise, all text on this page which is either unattributed or by Mark S. Miller is hereby placed in the public domain.