Matthew Butterick wrote on 12/27/18 12:00 PM:
According to Brendan Eich, "The good parts of [JavaScript] go back to
Scheme and Self" [1] combined with "a lot of stupid". [2]
I appreciate Eich's candor and thoughtfulness there.
From Self, I think JavaScript initially got the prototype object model,
and possibly whatever slot access/dispatch optimizations Self used.
Self did some even more novel/noteworthy things, which PL enthusiasts
would want to know about: JIT or runtime incremental optimization,
visual/concrete programming active morphs worlds, and (I include this)
the morphs world object editors.
Self was very neat and exotic at the time I used it. And the set of
innovations suggests such a pleasing causal chain of necessity being the
mother of invention, that I don't want to know if it's not the truth:
morphs world => loose prototype-delegation concurrent objects => runtime
optimization.
Regarding Scheme, I suppose Eich might've just used a simple Scheme with
a prototype object model (it's very simple to implement). But Java was
already out there, the original purpose of LS/JS (IIRC) was merely glue
to load Java applets (not full-GUI-application DOM manipulation and
logic like today), and Sun had made Java have a C++/C syntax, because
that's the kind of programmer they thought would be developing in it. I
suppose, as soon as I was whipping up a "Java-ish light scripting
language" back then, even if Scheme was my inspiration, as soon as I was
figuring out the different syntax anyway, I probably would've simplified
semantics (e.g., free tail calls and first-class continuations would
seem unnecessary).
--
You received this message because you are subscribed to the Google Groups "Racket
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.