[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/