7 ms·
The Birth and Death of JavaScript [video] (2014)
- mikece 3y agoAlmost ten years on from this conference talk and it's mind-blowing how close to the mark Gary Bernhardt was!
- zaguios 3y agoUh, are we living in the same world? Javascript completely and fully dominates the web, he couldn't have been more wrong about how the future would turn out.
- kaelinl 3y agoHave you watched the talk or only read the title? The "death" in the title does not mean what you suggest it does.
- NortySpock 3y agoTo summarize the talk for those in a hurry: the presenter, pretending to be from the future, describes YavaScript as an archaic computer language that served as a bootstrap to WASM, which is now the default compilation target for nearly all languages.
- saghm 3y agoA slight nit: he doesn't actually refer to WASM, but a precursor called asm.js (https://en.wikipedia.org/wiki/Asm.js https://en.wikipedia.org/wiki/Asm.js). WebAssembly wasn't actually announced until 2015 (https://en.wikipedia.org/wiki/WebAssembly https://en.wikipedia.org/wiki/WebAssembly)
- jfmc 3y agoWASM is an extremely useful compilation target because of its portability (specially for running on browsers), but it is far from being the "default compilation target" for almost any language. The promised near-native speed is not here (in general you get x2 or x3 slower code but it can be even worse), it is limited to 32-bits (MEMORY64 is on the way but there is not a clear roadmap of when this will be generally available in browsers), blocking IO is a pain, and its design seems to be constrained by the underlying JS JIT (it still looks like ASM.JS with a different syntax). I still believe that it is a miracle that we have WASM as a standard, and that it runs smoothly across different browser vendors, but why nobody seems to be worried about lack of progress in performance? LLVM IR would be a much better binary target. It was used in the abandoned PNaCL project. AFAIK Apple uses it (bitcode) to store apps that are later compiled for specific platforms. WASM looks like a toy compared with this technology.
- remexre 3y agoThe problem is that LLVM IR makes breaking changes fairly frequently -- for instance, LLVM 15 made all pointers untyped; where before you'd have a type like *i32, now you just have ptr. If you're trying to run the same IR on 32-bit and 64-bit devices, I'd expect you'd need to freeze the word size anyway -- if a C or C++ program uses sizeof(), what value gets returned? Blocking IO doesn't get solved by switching to LLVM either; you can't block in browser WASM because it'd block the JS thread; a WASM engine not attached to a browser has no such issues. (I wish at least one-shot continuations would get added so that this could become a bit easier in the browser, but I understand the hesitancy to do so...)
- bonzini 3y ago> it is far from being the "default compilation target" for almost any language That referred to the content of Gary Bernhardt's talk, not to (current) reality.
- krasin 3y ago> It was used in the abandoned PNaCL project. I worked on PNaCl back in 2011. There was a growing understanding that choosing LLVM IR as the representation was a mistake. I even tried to come up with something better, but failed to do so. I was glad to see asm.js and then WebAssembly coming to the scene. In my opinion, WebAssembly is better than what PNaCl could have ever become. update: and then there was a famous post, "LLVM IR is a compiler IR": https://groups.google.com/g/llvm-dev/c/N3r_a1Vbrog/m/8lukw1xiSQAJ https://groups.google.com/g/llvm-dev/c/N3r_a1Vbrog/m/8lukw1x...
- deleted 3y ago[deleted]
- recursive 3y ago> Javascript completely and fully dominates the web, he couldn't have been more wrong about how the future would turn out. So what was he wrong about?
- ehnto 3y agoI guess just that asm.js nor WASM are the reason why Javascript still dominates. Most of the dominating technologies transpile to plain ol' javascript.
- slowmovintarget 3y agoTo refer merely to the title of another of his talks: "Wat?"
- throwawaymaths 3y agoIt's not nearly 100% certain wasm will win out in the way he describes. And there isn't an exclusion zone.
- sfink 3y ago> And there isn't an exclusion zone. Yet.
- flohofwoe 3y agoThe software world hasn't changed much in the last decade though. I think you have to go back all the way before V8 to make the predictions impressive ;)
- mellosouls 3y ago(video)
- dang 3y agoAdded. Thanks!
- dang 3y agoRelated: The Birth and Death of JavaScript (2014) [video] - https://news.ycombinator.com/item?id=27538040 https://news.ycombinator.com/item?id=27538040 - June 2021 (43 comments) The Birth and Death of JavaScript - https://news.ycombinator.com/item?id=26696857 https://news.ycombinator.com/item?id=26696857 - April 2021 (1 comment) The Birth and Death of JavaScript (2014) - https://news.ycombinator.com/item?id=26622984 https://news.ycombinator.com/item?id=26622984 - March 2021 (2 comments) The Birth and Death of JavaScript - https://news.ycombinator.com/item?id=19147184 https://news.ycombinator.com/item?id=19147184 - Feb 2019 (1 comment) The Birth and Death of JavaScript - https://news.ycombinator.com/item?id=11898573 https://news.ycombinator.com/item?id=11898573 - June 2016 (1 comment) The Birth and Death of JavaScript [video] - https://news.ycombinator.com/item?id=7605687 https://news.ycombinator.com/item?id=7605687 - April 2014 (227 comments)
- DonHopkins 3y agoMY GOD WHY WON'T IT JUST STAY DEAD???
- ssss11 3y agoAt this point it should perhaps be renamed ZombieScript
- mikece 3y agoWhen announcements are made at Google I/O about UI and app code being compiled down to WASM, without a line of Javascript in sight, and delivered on all manner of web browser -- desktop and mobile -- that triggers a reminder that this was all predicted by the clairvoyant Gary Berhardt back in 2014. He also predicted a huge war after the adoption of (W)ASM and we have the possible ignition point for that in eastern Ukraine at the moment...
- evbogue 3y agoFirst time viewer here. How did the presenter know there was going to be a war going on between 2020 and 2025 all of the way back in 2014?
- nilsbunger 3y agoThe talk is in 2035, not 2014
- chii 3y agohe obviously was really a time traveller, and was just using the talk as a thinly disguised prophesy for the rest of us!
- glandium 3y agoHas there been a time between 2014 and now where there wasn't an active war somewhere?
- madeofpalk 3y ago> This science fiction / comedy / completely serious talk traces the history of JavaScript, and programming in general, from 1995 until 2035.
- mikece 3y agoLike everything else he's correct, just off by a couple years: The War wasn't until 2027.
- woodruffw 3y agoGary Bernhardt is a fantastic speaker and presenter. I also highly recommend his Destroy All Software screencasts[1], for those who enjoyed this talk. [1]: https://www.destroyallsoftware.com/screencasts https://www.destroyallsoftware.com/screencasts
- gregsadetsky 3y agoAnd he also runs his own learning site/platform where you can interactively learn / get better at TypeScript. I went through a few of the classes and loved them! https://www.executeprogram.com/ https://www.executeprogram.com/
- agentultra 3y agoGosh I remember being at this talk. And I remember being in the green room at a subsequent Pycon as a speaker and seeing Gary preparing for another talk. He is legendary. I wish I had the fortitude to interrupt him and introduce myself. Or not. I kinda just left him to his own because interrupting people is rude. If you’re reading this, hi Gary! You’re cool. This talk was awesome. You did a great job.
- chrisco255 3y agoI think it's pretty hilarious that after this talk, WebAssembly became a thing, supplanting asm.js, and the text based version of wasm files are called wat files. Wat?
- paulgb 3y agoIn case anyone misses the reference, “Wat” is another entertaining talk by Gary Bernhardt https://www.destroyallsoftware.com/talks/wat https://www.destroyallsoftware.com/talks/wat
- deleted 3y ago[deleted]
- baudaux 3y agoThis excellent talk was a fiction in 2014… that is becoming true. Of course JavaScript is not dead (far from that) but WebAssembly is now there and a shell running in the browser becomes a reality
- FpUser 3y agoThis is insanely brilliant presentation. Too bad I did not hear about the guy before.
- roberja90 3y agoFun talk but kind of weird he totally ignores the fact that LLMs have written all code since around 2029.