[E-Lang] E Implementation Perspective
puff@guild.net
puff@guild.net
Tue, 10 Apr 2001 03:12:07 -0400
Hi folks,
I've been pretty busy lately; working like crazy to keep my
employer from joining the dot.com graveyard. Sorry I haven't chimed
in with these thoughts sooner, in the whole E in a Walnut discussion.
Read EarthWeb a few months back. Enjoyable. Passed it to my
brother, who enjoyed it immensely for the ideas, since they're
particularly applicable to his job (http://www.cs.cmu.edu/~softagents).
I started reading E in a Walnut several months ago, maybe
November (right after Mark announced it's availability for comment).
>From the sounds of the comments recently, I should go print a fresh
copy and start over. I've been reading a lot of technical docs lately
- particularly a lot of java stuff, and a lot of specs. One thing
that has struck me a couple of times, and the reason for this post, is
that a lot of the specs are obviously trying very hard to specify
*what*, rather than *how*. In other words, to be abstract.
For an industry spec, this makes sense. However, when I'm trying
to learn something, it's crazy-making. Humans work better with
concrete things. So I'd suggest that you write (maybe in E in a
Walnut, maybe elsewhere) some stuff that looks at how some of E's more
interesting concepts are implemented. Maybe not everybody needs it,
but I suspect a lot of folks will find it easier to examine a good,
concrete example (at least from the 10,000 foot view), and from there
to go to an abstract understanding. One of my more recent favorite
examples of this is the first two or so chapters of Bruce Eckel's
_Thinking In Java_.
In a similar vein, I'd suggest two things for E in a Walnut.
First, I'd suggest putting capabilities up front. I'd particularly
suggest you provide a couple of "Before/After" case studies to
illustrate how you'd implement some easily accessible, somewhat
practical applications using capabilities. Capabilities and
distribution are E's rocket science, so showcase them. Also, I
noticed that pretty much all the serious examples were heavy on using
these features, so it doesn't really make sense to wait until later in
the book to introduce them.
Second, I'd suggest you add a concise summary of the different
language elements. Maybe this was already there, maybe I missed it,
maybe it's been added since I printed out that copy. Hm... no, I
don't see anything like it in the version linked to from erights.org's
homepage. My favorite example of this sort of doc has always been:
http://web.mit.edu/afs/sipb/project/coldmud/doc/coldmud.html
Although it's also been about seven years since I read it, so
maybe I should go back and take another look before I hold it up a as
an exemplar :-).
Steven J. Owens
puff@guild.net