Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • I think JS, is yet to rise the agents, and using all the next.js components.
  • "YavaScript" made me smile.
  • We’re past the halfway point of Bernhardt’s 2035 timeline; JavaScript hasn’t died yet, but it’s clearly writing its own eulogy in WebAssembly.
  • I review many sites/month from different clients. They are all using some form of JavaScript.

    It's like PHP, it will never die.

  • Multiple generations of your family will be long dead before last JS instruction gets executed. Unless there's going to happen a global thermonuclear war. I still bet on JS surviving over most humans.
  • Regardless of the content, this is one of my most favourite talks ever, especially in the delivery aspect. It served me as an inspiration for quite some time when I had to present anything to a wide audience.
  • Same. I think I watched this 10 times when it first came out.
  • Almost everything happened according to the script. Now we are just waiting for another OS fully based on browser technology or WASM OS.

    webOS and Firefox OS was at least 20 years ahead of its time.

    by ksec
  • Is there a technical reason you don't mention ChromeOS?

    Just asking out of curiosity.

    Also, the screenshots I've seen of webOS makes me long for a revival... not only on smart TVs

  • Not at all. WASM is a repudiation of the thesis, not a confirmation.

    The thesis is that javascript-compatible source will be the substrate of the future. A javascript engine, though one highly optimized to efficiently interpret a compatible subset, is a potential universal platform of the future despite generic javascript being a terrible substrate.

    WASM fundamentally rejects this by creating a new javascript-incompatible substrate that is actually designed to be a low level target. Claiming WASM is confirmation of the thesis makes as much sense as claiming that a future where everybody has a Rust interpreter in the browser is confirmation of the thesis.

    If you are arguing that, then you are just arguing that web browsers will run code in some form in some language as they already do. As the video is clearly discussing a “surprising” possible future, it makes little sense for it to be consistent with literally business as usual and literally every possible future.

  • Gary Bernhardt's Wat lightning talk [1] was my favorite of all time.

    It's only 2 years predates this talk in the title.

    [1]: https://www.destroyallsoftware.com/talks/wat

    by devy
  • I remember watching Gary Bernhardt give this talk live at the Canadian Undergraduate Software Engineering Conference (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.

    At the time I just thought it was funny. Now I find it surprising how much of these ideas ended up sticking around.

    by cbhl
  • The problem is 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.
  • The DOM and JS are joined at the hip - the DOM APIs are designed assuming JS is used to access them, and the design of JS and some of its more “unique” features is partly because it was designed for use with the DOM
  • JS is just so much more approachable than WASM. You can debug it on the fly, feed it to an LLM, there is no wrapper, it's just so much easier to tinker and work with it.
  • People choosing Flutter would say the uniformity of a canvas across all browsers is more valuable than gaining the inconsistently implemented web feature set.
  • Every few years, we invent a better JavaScript. Then we transpile it to JavaScript.
  • It's all assembly code in the end. There's nothing intrinsically wrong with compiling down to Javascript, a high-level language can still implement many things that direct Javascript does not. Just about every language guarantee you've ever used can be violated by raw assembler.
    by jerf
  • Mass adoption trumps good design every time.
  • JS became a compilation target (and it really did), and back then in the video it was asm.js (that's been deprecated, hasn't it?), but then WebAssembly came along... Seeing it actually being implemented and running natively, it seems his prediction was accurate. I mainly use TypeScript myself, and now with Electron, web technologies are wrapped into desktop apps, so web syntax has even entered computer programs. People say Electron is heavy and not great, but it's also the fastest way to support Mac, Windows, and Linux all at once. Sometimes insights like that are surprising.

    The 'death' being discussed here means that JavaScript becomes the substrate, a state where you don't use it directly, but it's everywhere. And that has truly come to pass.

  • > it seems his prediction was accurate

    Not really. his two predictions are

    1) that EVERYTHING will be running on some javascript assembler. We are getting incrementally closer with things like firecracker, but plenty of stuff still runs on bare metal, and it doesn't seem like it's going away so easily.

    2) that no one will write javascript anymore. I don't think typescript is different enough to count.

  • As someone else said, Flutter is good, but also look into Rust based GUI development. With frameworks like GPUI or Slint or egui, they are optimized for cross-platform desktop use cases specifically and are significantly faster and more lightweight than Electron and these days do also support macOS, Windows, and Linux out of the box.
  • > People say Electron is heavy and not great, but it's also the fastest way to support Mac, Windows, and Linux all at once.

    But why make an app when websites is enough? And I don't need to run n web browsers for that.

  • > People say Electron is heavy and not great, but it's also the fastest way to support Mac, Windows, and Linux all at once

    I am hesitant to call that "support". If even Meta can't get their Electron application to work reliably, who can? WhatsApp client for macOS is awful and it's getting worse. Discord is awful and it's getting worse. Spotify works better when running through the browser. At this point, when I see that the application is using Electron, I am assuming it's not supported on my OS and I move on.

  • Within the video's story, they removed virtual memory and memory protection because the JIT was good enough. Nothing like that has happened at all.
  • > The 'death' being discussed here means that JavaScript becomes the substrate, a state where you don't use it directly, but it's everywhere. And that has truly come to pass.

    Not sure what timeline you’re living in, but people absolutely still write tons of JS, and WebAssembly has yet to take over as a commonly used runtime for web applications. You can definitely find examples of companies building on it, but don’t mistake that for the kind of sea change Gary was describing here.

  • JavaScript is the new assembler layer so to say. Every compiler as per definition translates human readable code into machine language.

    The benefit of JavaScript is, that, after Google really pushed it to its limit with V8 and of course NodeJS made it a backend dream, that it is ubiquitous and once written usable everywhere, much kinda like PDF.

    Its versatility gave it the advantage over WebAssembly to this day, because it is not as widespread available as JavaScript.

    I agree with you, that JavaScript itself is nowadays tantamount with TypeScript - what a giant leap this has been. Angular (2) was the unsung hero here. Angular was harshly criticized when they went TypeScript right from the beginning while still offering a native JavaScript version as well (which was basically unusable to be honest).

    It is funny, that the last hideout not featuring TS as their default option is React, while more and more major integral projects like NextJS rely out of the box on TS. ReactJS will fall, too. It wouldn't be the first time regarding innovations coming from other projects. Again Angular is leading the innovation while ReactJS is a follower.

    You rarely can go wrong with JavaScript and Python, I would say.

  • > but it's also the fastest way to support Mac, Windows, and Linux all at once.

    Flutter exists too, and supports iOS and Android in addition to the desktop OSes. The dev time is pretty fast too imo.

    That said, idk how the performance compares to Electron or Native apps.

    As a small team, optimizing for "actually getting the thing shipped" is so much better than optimizing for speed anyway.

  • Surprised no one mentioned this is the guy who brought us this masterpiece. If you haven’t seen it, drop everything and watch it, best 5 minutes of your day guaranteed.

    https://www.destroyallsoftware.com/talks/wat

  • amazing