The Birth and Death of JavaScript (2014)

JavaScript’s “Death” and Longevity

  • Many argue JavaScript will “never die,” likening it to PHP or even C in lifespan.
  • Others distinguish “biological death” from practical obsolescence: like COBOL/Fortran, JS may persist for decades but become niche.
  • Some note that LLMs’ heavy exposure to JS code further entrenches it.
  • The prediction that no one would write JS anymore is seen as unfulfilled; people still write lots of plain JS despite TypeScript.

JavaScript, asm.js, and WebAssembly

  • The talk’s idea that JS becomes a compilation target largely came true: many languages compile to JS or TS.
  • asm.js is considered effectively deprecated, replaced by WebAssembly (Wasm), which some see as fulfilling that prediction.
  • Others argue Wasm contradicts the thesis because it is explicitly non-JS and designed as a proper low-level substrate.
  • Wasm’s progress is viewed as slower than expected; lack of direct DOM access means JS remains necessary for glue code.

Language Semantics and Quirks

  • Debate over using null vs undefined: some avoid undefined as an intentional value; others argue both are fundamental to the language and used by core APIs.
  • Discussion touches on IEEE 754 NaN semantics and classic JS oddities (+0/-0, coercion) as flaws versus standards-compliant behavior.
  • Some dislike JS for “mutant C” inconsistencies; others say syntax itself is not the main problem.

Transpilation and “JS as Assembly”

  • Repeated pattern: “we invent a better JS, then transpile it to JS.”
  • TypeScript is widely seen as the de facto way to write JS, especially in large projects.
  • JS is often described as the new assembly layer of the web, even if higher-level languages are used on top.

Electron, Cross‑Platform Apps, and Alternatives

  • Electron is praised as the fastest way to target Mac/Windows/Linux with familiar web UIs, despite being heavy.
  • Critics cite high RAM use and unstable clients; some consider “Electron app” synonymous with poor native support.
  • Alternatives mentioned: Flutter (with mixed views on web/desktop quality), Qt, Rust-based GUIs, Tk-based stacks, and plain web apps.

Web OS and Broader Predictions

  • Some see WebAssembly and browser-based stacks as a step toward a browser/Wasm OS; others note ChromeOS and current systems don’t fully match that vision.
  • The kernel-level JS/asm.js in the talk is clarified as fictional; the talk is framed as speculative fiction.

Talk Reception and Related Material

  • The talk is widely praised for delivery and foresight, used as presentation inspiration.
  • Related talks “wat” and “Boundaries” are frequently recommended and admired, despite a few noted minor technical inaccuracies.