(from a correspondence with Amy Mar, archived on ec_design)
The E language is designed to start as a scripting / rapid prototyping / command language, sacrificing performance and support for programming in-the-large (like static type checking) in exchange for simplicity and ease of use. Not sacrificed even a smidgen is security. Like Original-E, E is a capability-secure persistent distributed pure-object language (it inherits most of these features from our ELib platform).
As a simple one-at-a-time command language, The E language is quickly learnable by non-programmers. As a programming language, E is immediately accessible to programmers schooled in C-tradition languages: C, C++, Java, Python, Perl, Tcl, csh. It should also be accessible to (fingers crossed) Visual Basic programmers. Speaking loosely, Python is to C++ as E is to Java.
Intended Uses at Communities.com:
Long term, assuming it can eventually be compiled as well as Scheme (as it was designed to be), E could give us a migration path away from Java. E is sort of Original-E without the Java (which ironically is different from Joule, even though Original-E is sort of Joule + Java). We have already spent at least ten times as much effort working around flaws in Java as it takes to invent, build, and support a good simple programming language (like Scheme, Joule, or E). So much for saving effort by leveraging a supported platform!
Unless stated otherwise, all text on this page which is either unattributed or by Mark S. Miller is hereby placed in the public domain.