In 2014 he predicted JavaScript would become invisible by 2035. We're halfway there

Gary Bernhardt's talk imagined a future where asm.js becomes the universal substrate — eventually the kernel runs on it, and you stop writing JavaScript directly. Eleven years on, the thread grades each prediction against WebAssembly's actual record.

In brief

Bernhardt's 2014 talk wasn't really about JavaScript dying. Its thesis: a fast bytecode-like subset (asm.js) becomes the universal compile target, the boundary between OS and browser dissolves, and JS survives as an invisible substrate you compile to but never touch.

The grades are split. WebAssembly proved him broadly right on direction. But one engineer flags the catch: Wasm still can't touch the DOM, so JavaScript glue isn't going anywhere — the prediction's timeline is slipping.

The talk that predicted JavaScript would vanish into the plumbing

Gary Bernhardt's *The Birth and Death of JavaScript*, delivered in 2014, is a comedy bit with a real argument inside it. The setup: asm.js — a strict, statically-compilable subset of JavaScript — gets so fast that everything starts compiling to it. C, games, then whole applications. Once everything targets it, the operating system and the browser stop being distinct things; memory protection between processes becomes unnecessary because every program is already a sandboxed, verified asm.js binary. The punchline arrives in his fake 2035 retrospective: the kernel itself runs on "Metal," an asm.js bytecode, and nobody writes JavaScript by hand anymore. The "death" of JavaScript is JavaScript winning so completely it disappears into the substrate.

The thread, eleven years on, treats it as a prediction to be graded — and the grading is unusually generous on direction, sharp on the details.

How much of it actually came true

The broad shape landed. asm.js was the stepping stone; WebAssembly was the real thing.

"JS became a compilation target (and it really did), and back then in the video it was asm.js… but then WebAssembly came along… Seeing it actually being implemented and running natively, it seems his prediction was accurate. The 'death' being discussed here means that JavaScript becomes the substrate, a state where you don't use it directly" — a freelance programmer who works mainly in TypeScript and Electron

One attendee from the original room added a detail that makes the talk look prophetic rather than absurd: the idea wasn't invented from nothing.

"I remember watching Gary Bernhardt give this talk live at CUSEC back in 2014. PNaCl had just come out the year prior, and Google was using it to cross-compile, run, and sandbox OpenSSH and RDP clients inside of Chrome and ChromeOS, and the Mozilla/Firefox folks counter-proposed asm.js as a response… Now I find it surprising how much of these ideas ended up sticking around" — cbhl, a software engineer who was in the audience

The catch the WebAssembly reality exposed

The dissent is about pace and reach, not direction. The substrate exists — but it never grew the limbs that would let JavaScript actually retire.

"Wasm is not improving nearly as fast as predicted here. We don't have DOM manipulation so we will still need JS regardless as glue code, or just eschew HTML and CSS altogether and render everything on a canvas as Flutter and some Rust GUIs do but that's a shame to lose the feature set of the web" — satvikpendem

Another voice argued the bleakiest part of the vision — JS/Wasm as the universal application binary interface — is the part we dodged, and should be glad we did.

"I'm glad he was wrong about this. Having js/wasm be the standard ABI would have been horrible… he could have never predicted in 2014 that Valve would pour a metric fuckton of resources into improving Wine/Proton, to the point of getting x64 binaries to run on other architectures" — an engineer tracking the Linux desktop/handheld push

And the running joke of the thread, on the half-prediction Bernhardt did nail: he forecast a global catastrophe between 2020 and 2025. "He just got the wrong type," one reader noted — "which is very JavaScript."

The verdict: right about the shape, wrong about the exit

The consensus that emerges isn't "he was right" or "he was wrong" — it's that he got the architecture and missed the escape velocity. JavaScript did become a compile target; TypeScript, Electron, and Wasm all confirm the substrate thesis. But the final step — JS becoming invisible, the OS dissolving into the browser — stalled on a boring, concrete obstacle: Wasm still can't talk to the DOM, so the glue code that was supposed to disappear is still load-bearing. The 2035 deadline has eleven years left and the hardest 20% to go. The contrarian read in the thread put it plainly: "Almost everything happened according to the script," we're just waiting on the WASM OS.

Get breakdowns like this every day

The top Hacker News stories, unpacked — by email, Telegram, or RSS.

Next story · 22 of 27 Read more
🚀Tech

Linux jumps to 7.1 — and starts deleting code just to dodge AI bug reports

The big version number is the boring part: 7.x exists only because 6.x got too big. The interesting part is why ISDN and other ancient drivers were ripped out — to stop the flood of AI-generated bug reports against code nobody runs.

★ 235 · 💬 93 · lore.kernel.org · 3 min