In 1995, a Netscape employee wrote a hack in 10 days that now runs the Internet

52 pointsposted 12 hours ago
by taubek

14 Comments

cxr

11 hours ago

Two 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/>

2. <https://brent-noorda.com/nombas/us/index.htm>

jbverschoor

4 hours ago

In sorry, bit I’ve implemented Rhino way back in 2005 or before on a server

petesergeant

11 hours ago

I 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

10 hours ago

JS 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

9 hours ago

No, 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

cr125rider

8 hours ago

It’s good to know the differences between libuv based event loops, threads, and processes. I think your comment simplifies that too much.

nabla9

11 hours ago

Brendan 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

11 hours ago

The 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

10 hours ago

I 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

10 hours ago

I went to a talk by Eich in the late 90s. He explicitly mentioned scheme

user

11 hours ago

[deleted]