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.

Reply via email to