[E-Lang] what is good about E?
Mon, 16 Jul 2001 09:48:42 -0700
> I was surprised when MarcS expressed disinterest in this tack, on the
> that Java was already being marketed as distributed and persistent, and
> the only unique thing about E was its capability security model.
A little clarification here: my problem is specifically from a marketing
perspective. E certainly is distributed and certainly will be persistent.
And it has a far better architecture for distributed programming than any of
the current popular languages. The problem is that Java has attempted to
fill all these spaces from a marketing perspective, and from a marketing
perspective they have been rather successful: "Ya want distributed, hey, we
got RMI. Ya want persistent, hey, we got serialization. What more could you
possibly need?" The best one-line riposte I have at the moment (and one-line
ripostes are about all you get in marketing) is "hey, we guarantee no
deadlock," which Guido himself didn't find very impressive (though actually,
I think everyone should find that impressive, at least anyone who has spent
a couple days--or a couple years-- trying to figure out a deadlock bug).
JavaSoft has tried to say they have security too, but this is the one that I
think they are most visibly incorrect on, i.e., it is obvious this is just
hype, not reality. Since it is the greatest opportunity from a marketing
perspective, it is the one to engage most aggressively from a marketing
perspective. Not the only one--three cheers for targets of opportunity--but
the main one.
> I do not think that Mojo Nation would be any more secure if it had been
> in E instead of Python, nor do I think that it could've achieved the same
> of security that it has now at a lesser cost in development. At least,
> due to its capability security features, although its other features would
> reduced development costs.
> I *do* think that if E had been ready in time for Mojo Nation v1, it would
> been a substantial win over Python (which in turn has proven to be a
> win over Java), because of the *other* features that E offers:
> persistent, every-object-is-remotely-invokable, and the elegant,
> object semantics.
Actually, the big win would have been the way all these things--distributed,
and secure, and persistent--play together in a wondrously better synergy
than any other language delivers. Trying to break out the costs in building
something like Mojo Nation into "this much cost for security, and this much
cost for distributed, and this much cost for persistent" when using E would
not be a meaningful exercise: the security in something like Mojo Nation is
very nearly an emergent property from just using object references, which
(oh, by the way) happen to be capabilities.
Another point of clarification, if someone wants to tell the world how great
E is for distributed computing regardless of security concerns, that's
great. Shucks, I mention it myself in the Intro to Walnut, even though it
isn't the easiest marketing point to win. The most important part of
marketing remains, despite modern advertising technology, word of mouth. If
a bunch of people (who are not markm and myself) start telling people that E
is the best thing on the planet for distributed computing (which I think it
is, though as Guido pointed out, one needs to be careful about defining
"distributed", if you're just doing Web pages, then E is not a big win),
that is great word of mouth, yippee :-) But in looking for a niche market
where the leverage is both greatest and easiest to explain, I still think
the best niche to spend the tiny amount of marketing resources we have is in
the security-concerned domain.