Node.js
Node.js is a runtime that executes JavaScript on the server side. It was designed in 2009 by Ryan Dahl as a solution to the C10K problem (10,000 concurrent connections on one server). Built on Google's V8 engine and event-driven asynchronous I/O, Node.js launched JavaScript out of "the browser-only language" and into "a language that runs everywhere": servers, CLIs, desktop apps, and embedded systems.
Origin of the Name
"Node.js" combines "Node" and ".js" (JavaScript). "Node" refers to a node in a network — a single point such as a server in a wider system. ".js" is the JavaScript file extension, signaling directly that this is server-side JavaScript.
2009: The Birth of Node.js
Web servers of the era faced a challenge known as "the C10K problem". C10K stands for "Concurrent 10,000 connections" — could a single server handle ten thousand simultaneous connections? Servers like Apache HTTP Server assigned one thread to each connection, so as connections grew, memory usage and context-switching costs caused performance to collapse.
To solve the problem at the root, Ryan Dahl chose the approach of "do not multiply threads; handle all connections on a single thread driven by events." The idea itself was not new — it had been possible for years through C system calls such as select(), epoll (Linux), and kqueue (macOS / BSD). Ryan Dahl's real contribution was tying that asynchronous I/O model to JavaScript as a language.
JavaScript was designed in the browser around event-driven thinking ("when the button is clicked, do this"; "when the image loads, do that"). Writing asynchronous code with callback functions feels natural at the language level. Ryan Dahl recognized that property and chose JavaScript as "the right language for server-side asynchronous I/O."
The Power of the V8 Engine
Node.js's execution platform is the V8 engine, the JavaScript engine that Google built for Chrome in 2008. The team was led by Lars Bak. V8's innovation was to JIT-compile JavaScript to machine code rather than running it through a step-by-step interpreter.
Before V8, JavaScript was widely seen as "a slow language good only for adding small interactions in the browser." V8 raised JavaScript performance by orders of magnitude, giving the language enough speed to be used seriously on the server. The basic speed of Node.js sits on top of V8.
V8 itself is an open-source project written in C++, and it powers Node.js as well as Deno, Electron (the desktop platform behind apps like VS Code), and many other projects. A C++ engine carrying a JavaScript world on its back echoes the structure of Dennis Ritchie's C giving rise to operating systems on which applications run.
2009: The Legendary Talk at JSConf EU
In November 2009, at JSConf EU in Berlin, Ryan Dahl gave the first public talk on Node.js. When his demo brought up an HTTP server in a few lines of code, the room broke into applause. The shock that "JavaScript, which only ran in the browser, can run on servers, files, and networks too" sent shockwaves across web development.
The vision presented at that talk — "JavaScript Everywhere", the idea that the front end and back end can be written in the same language — has since become a foundational assumption of modern full-stack web development.
The Arrival of npm and Governance Changes
In 2010, Isaac Z. Schlueter released npm (Node Package Manager). npm became the package manager for Node.js and the central place for sharing JavaScript software. The npm registry today is one of the largest software package collections in the world.
In 2014, Ryan Dahl left the Node.js project, and would later announce a separate runtime, Deno, in 2018. Around the same period, Node.js's stewardship moved through the Node.js Foundation (2015), and is currently held by the OpenJS Foundation (since 2019, under the Linux Foundation umbrella). After separation from Joyent, the io.js fork and reunification (2014-2015), Node.js now sits under stable governance.
Node.js Today
Node.js is now one of the main choices for server-side development. Major services such as Netflix, Uber, LinkedIn, eBay, PayPal, NASA, and Mozilla use Node.js, with strong adoption in real-time communication, microservices, and BFF (Backend for Frontend) work in particular.
Recent years have seen alternative runtimes appear, including Deno (Ryan Dahl's 2018 redesign) and Bun (a JavaScript / TypeScript runtime released in 2022, written in Zig), opening a more competitive landscape on the JavaScript server. Even so, Node.js remains the leading runtime, anchored by enormous existing assets — npm packages, codebases, and accumulated knowledge.
Node.js itself is also strengthening its alignment with web standards: ES Modules, the standard fetch API, and a built-in node:test runner are recent examples. After fourteen years, the "JavaScript Everywhere" vision has been firmly realized.
Related Dictionary
Node.js's event loop, module system, asynchronous processing, and practical patterns are covered in detail in the Node.js Dictionary.