3 ms·
In 1995, a Netscape employee wrote a hack in 10 days that now runs the Internet
- nabla9 10mo agoBrendan Eich wanted the language be some dialect of Lisp language but his superiors insisted on a language similar to Java. So he wrote that prototype in Common Lisp. It's basically Java like syntax over Common Lisp structs and vectors.
- wk_end 10mo agoThe original implementation of JS was in C, not CL. I think Eich was more partial to Scheme than CL, as a model for JS. Though I wouldn’t say it’s Java syntax over either - the scoping rules are very distinct, it’s missing tons of features core to either CL or Scheme, there’s the whole Self-inspired prototype-based OOP layer…
- LeFantome 10mo agoI also always thought that he set out or implement a Scheme-like language but got told to make it look like Java. Scheme is a LISP of course, just not Common Lisp. I have no idea what language the original implementation was in but it makes sense it would be the same as the rest of the browser.
- convolvatron 10mo agoI went to a talk by Eich in the late 90s. He explicitly mentioned scheme
- nabla9 10mo agoYes. But that prototype was in CL.
- BrendanEich 10mo agoNo. I wrote Mocha in C. Where did you hear this CL fish story?
- nabla9 10mo agoOh. It was not you, and not the original. It was Waldemar Horwat and js2 https://web.archive.org/web/20111217124744/https://mxr.mozilla.org/mozilla/source/js2/semantics/ https://web.archive.org/web/20111217124744/https://mxr.mozil...
- cxr 10mo agoTwo oversights in this article: - Failure to mention Netscape Enterprise Server (NodeJS is not responsible for expanding "the language's scope[…] far beyond the browser"—it was on the server from almost the very beginning; the author cites Brendan's 2011 blog post[1] which namechecks Rhino, but then leaves this out) - Failure to mention JS running on the James Webb Space Telescope (Brendan's post also namechecks Nombas, but doesn't go into much detail about it; Brent Noorda covered this in an update to the Nombas section of his site[2] in 2022) 1. <https://brendaneich.com/2011/06/ https://brendaneich.com/2011/06/> 2. <https://brent-noorda.com/nombas/us/index.htm https://brent-noorda.com/nombas/us/index.htm>
- petesergeant 10mo agoI think the first JavaScript book I bought, circa 1998(?) briefly mentioned server-side JavaScript, and then until Node came out, I never saw it again. It's fair to say Node took server-side JavaScript from an obscure curiosity to the behemoth it is now.
- dboreham 10mo agoJS on the server seemed to me to be a solution looking for a problem. We already had plenty of arguably adequate server side languages. JS was the weird language you were forced to code in for the browser so why on earth would you want to use it elsewhere? Well I suppose the answer was "because there's a zillion people who know how to use it". But that wasn't true until it was.
- petesergeant 10mo agoNo, the answer was that Node.js will run circles around Apache, because Apache was built before async was discovered[0]... 0: https://www.youtube.com/watch?v=bzkRVzciAZg https://www.youtube.com/watch?v=bzkRVzciAZg
- cr125rider 10mo agoIt’s good to know the differences between libuv based event loops, threads, and processes. I think your comment simplifies that too much.
- ChrisArchitect 10mo ago[dupe] Discussion: https://news.ycombinator.com/item?id=46146406 https://news.ycombinator.com/item?id=46146406
- deleted 10mo ago[deleted]
- t1234s 10mo agoStill have this in my bookmarks file: http://devedge.netscape.com/library/manuals/2000/javascript/1.5/reference/ http://devedge.netscape.com/library/manuals/2000/javascript/...