[E-Lang] what is good about E?

zooko@zooko.com zooko@zooko.com
Sun, 15 Jul 2001 16:09:26 -0700


Dear Guido and e-lang:

Some time ago I sent a suggested marketing paragraph to MarcS, MarkM and Guido
van Rossum who was serving for the moment as an example hacker investigating E
for the first time.

"the E language's unique features:

 * distributed -- every E object can invoke the methods of every other E
   object whether it is running in the same VM or across the Internet
 * persistent -- every E object is persistent
 * secure -- every E object is protected from unauthorized access by the
   integrated capability security model

plus:

 * object oriented -- everything is an object
 * interpreted -- E is easy to use and powerful in the tradition of Perl and
   Python"


I was surprised when MarcS expressed disinterest in this tack, on the grounds
that Java was already being marketed as distributed and persistent, and that
the only unique thing about E was its capability security model.

It has taken me a long time to get around to following up on that discussion,
but here is what I'd like to say about it now:


This is my perspective as a prospective E customer.  I hack on an application,
Mojo Nation[1], which is a good fit for the E domain: distributed, mutually
untrusting peers and rapid and evolutionary development.  We considered using E
for Mojo Nation, and decided not to simply because E wasn't mature yet, and the
other contender, Python, was.

Now to many of the E pioneers, E is "the language for capability security".
Capability security is the focus of these pioneers, and the raison d'etre of E
is to make capability security available to the average programmer.

Now, I personally am a big fan of capability security in theory, but in
practice I do not think it is important for Mojo Nation.

I do not think that Mojo Nation would be any more secure if it had been written
in E instead of Python, nor do I think that it could've achieved the same level
of security that it has now at a lesser cost in development.  At least, not
due to its capability security features, although its other features would have
reduced development costs.

I *do* think that if E had been ready in time for Mojo Nation v1, it would have
been a substantial win over Python (which in turn has proven to be a dramatic
win over Java), because of the *other* features that E offers: every-object-is-
persistent, every-object-is-remotely-invokable, and the elegant, sophisticated
object semantics.


Regards,

Zooko

[1] http://mojonation.net/