Ryan Dahl - History of Node.js
phxtagsoup3 HN recommenders · 2011–2013
80K views · talk · evergreen · Uploaded 2011-10-05
Ryan Dahl tells the history of Node.js and why he created it at a Phoenix meetup. He explains the push for non-blocking IO on a clean slate rather than extending an existing ecosystem.
HN recommends it as the creator's own account of why Node was built and how he thinks about humility.
26:53What the heck is the event loop anyway? | Philip Roberts | JSConf EU
JSConf
36:45Rich Harris - Rethinking reactivity
You Gotta Love Frontend
1:00:43Jim Simons (full length interview) - Numberphile
Numberphile2
14:34Steve Jobs Stanford Commencement Speech 2005
JoshuaG
1:07:26Alan Kay - Normal Considered Harmful
powerfuloutlet
1:42:09Crockford on JavaScript - Volume 1: The Early Years
YUI Library
37:37RailsConf 2016 - Turbolinks 5: I Can’t Believe It’s Not Native! by Sam Stephenson
Confreaks
53:31Growing a Language, by Guy Steele
Bill Pugh
4 comments from Hacker News
Love what Ryan Dahl has to say about being humble. [VIDEO] Honestly, happens almost daily, especially in SF. We meet awesome developers, but they are frankly arrogant assholes. This sort of entitlement results in those people trolling and flaming. Be humble, there are many smart people in the world; you're not that awesome.
This might answer your question: [VIDEO] TLDR: He didn't want to use an ecosystem that had existing blocking code. He wanted node to be pure in te sence that nothing was blocking. Starting on a clean slate enabled him to get everything pure non-blocking from the ground up. He admits that Js isn't the best language. But his rationale for not using an existing ecosystem (when it comes to IO) is not bad.
Node was created to make scripting fast servers easy. Nothing more, nothing less. Because JS (as implemented in the browser and known by many programmers) didn't carry the baggage of blocking IO calls, Ryan thought it would be a good language for an event-loop based server. History of Node.js: [VIDEO]
The creator of Node was something of a Rubyist, i believe the main reason was around the stdlib / ecosystem not being event oriented, making it difficult to build non-blocking applications. EventMachine may well have strategies to defeat this, I just don't know. This video gives some good insight into what led to his decision to start fresh rather than try and change things in Ruby [VIDEO] So that's probably the biggest thing about Node - everything in the core is built with event orientation in mind, so you know you're not going to hit something that will block and kill you, and that minset is pervasive in userland too.