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
nullvsundefined: some avoidundefinedas an intentional value; others argue both are fundamental to the language and used by core APIs. - Discussion touches on IEEE 754
NaNsemantics 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.