[E-Lang] When We Do Joule (was: down with `define')

Dan Bornstein danfuzz@milk.com
Fri, 2 Mar 2001 10:22:16 -0800 (PST)


Marc Stiegler writes:
>promise we'll fix it when we do Joule.

(Rant warning.)

That attitude disturbs me. Not that Joule isn't a fine language in many
ways (I wouldn't have worked at EC for two years if I hadn't bought into
some of its concepts), but I find it hard to believe that the right next
step from E is necessarily something that already exists, and that anyone
could know for sure what it actually would be.

MarkM's insight that placed "programmer acceptance" explicitly and
consciously high on the priority list for E is a great one, but, rather
than see this as a tool/methodology to use on-the-sly to trick unsuspecting
C++ and Java programmers into eventually using Joule, I see this as
something to continue to be conscious of in the future.

There's a popular sentiment among many that Java won *despite* garbage
collection. I don't buy that. The way I see it, it's more like Java has
been the appropriate vehicle to introduce garbage collection in a way that
is acceptable to a wide array of programmers today. Gedankenexperiment:
Imagine Java-minus-gc (and all that that implies), but in all other
respects the same as the Java that Sun introduced in the HotJava browser;
would it have turned into the arguably-successful Java-as-we-know-it-today?
My take: no way.

There's a reason (probably a number of them) that Joule and Scheme (and
Prolog and ML and Haskell and ...) per se aren't popular languages with
wide acceptance, and probably never will be. When I have my Scheme Weenie
hat on, I end up facing a lot of other Scheme Weenies who Just Don't Get
It. They don't understand that the fact that Java has become a popular and
accepted language is a triumph for Scheme; rather, they whine about Java
taking away Scheme's steam, and go back to tweaking Scheme one way or
another, mostly oblivious to the rest of the world. They don't understand
that the label isn't the important thing, and that, in many salient ways,
Java *is* Scheme. Similarly, if E is accepted, that is implicitly a triumph
for Joule, but it's not a step on the way to winning a "war" whose end
result is a world full of Joule (per se) programmers.

If E is successful, then a decade or so from now, there will be a great new
idea whose time has come to be part of a language, and the purveyors of
that idea, if they take MarkM's insight to heart, will design "E, without
<archaic old thing in E>, but with <wacky new idea that will change the
world...again>," thus ensuring that funky syntax or whatever else doesn't
get in the way of evaluating the idea itself. If that happens, and they are
successful, then that fact will be a triumph for the ideas that made E what
it is (trying to be) today.

-dan