5 ms·
It's amazing to see https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript https://www.destroyallsoftware.com/talks/the-birth-and-death... b
by phoe-krk 4y ago
It's amazing to see https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript https://www.destroyallsoftware.com/talks/the-birth-and-death... becoming more and more true with every year.
- jay-barronville 4y agoWebAssembly isn’t JavaScript nor does it require JavaScript.
- phoe-krk 4y agoYour response is technically correct but misses the entire point of the video. To make a tl;dr, the video talks about a technology called asm.js which other applications end up compiled into so they can run with near-native speeds on any system which supports asm.js. This technology ends up being a compilation target meaning that JS gets eventually forgotten as a language because everyone just compiles everything into asm.js which is executed natively on the kernel. Just do a s/asm.js/WASM/g and it'll suddenly start making sense.
- jay-barronville 4y agoOkay, fair enough. I read the description but I didn’t watch the video, so it’s possible I’m lacking context. Thank you for clarifying.
- phoe-krk 4y agoYes, the video is pretty amazing - Gary in 2014 managed to predict pretty much everything that's happening with WASM nowadays: the push for safe execution of software compiled in unsafe languages, a common VMesque instruction set, web browsers implementing it first and pushing the frontier in this regard, and now kernels also starting to be capable of running that in order to avoid the cost of switching rings. What we're yet to see is this last point becoming the default, so execution of user programs kind-of makes a circle by returning to kernel mode, except now a trusted WASM-to-native compiler/runtime is responsible for ensuring system safety. Might happen in the next few years.
- jamal-kumar 4y agoI was playing around with server-side wasm by way of OpenCL compiled to that and interfaced via Deno. It felt pretty cool until I realized wasm is 32-bit and this limits memory to 4GB for whatever process you've compiled in it. Unfortunately this obliterated it as an option for our use case. The idea is still really interesting, though. It's almost like micro-containerization. I was reading this and it's what sold me on attempting it: https://www.techtarget.com/searchitoperations/news/252527414/Server-side-WebAssembly-prepares-for-takeoff-in-2023 https://www.techtarget.com/searchitoperations/news/252527414...
- lukevp 4y agowasm doesn’t have threads right now, so I wonder if you couldn’t just make multiple wasm processes and implement message passing between them to get around this limitation? I imagine if you’re building something where 4 gigs of Ram is a limitation, it would also benefit from using multiple CPU cores and you’d have to do multi-process for that anyway.
- cube2222 4y agoThis actually seems to be experimentally supported by some runtimes, like wasmtime[0]. [0]: https://github.com/bytecodealliance/wasmtime/pull/3153 https://github.com/bytecodealliance/wasmtime/pull/3153
- miloignis 4y agoThe Memory64 proposal is coming along, with experimental support in Firefox, Chrome, Wasmtime, Node.js, and Deno. ([0] has the status of the current proposals with a supported matrix) Hopefully it'll get fully supported soon! [0] https://webassembly.org/roadmap/ https://webassembly.org/roadmap/
- magicalhippo 4y agoReminds me of Singularity OS[1], where all programs were verified bytecode, allowing them to share address space with all the benefits that has. [1]: https://en.wikipedia.org/wiki/Singularity_%28operating_system%29 https://en.wikipedia.org/wiki/Singularity_%28operating_syste...
- conaclos 4y agoMoreover, Mozilla's asm.js paved the way to WebAssembly. Without asm.js, WebAssembly would never exist.
- pjmlp 4y agoasm.js was Mozilla's answer to Google's PNaCL and Adobe's CrossBridge.
- a_humean 4y agoThe direct inspiration of WebAssembly was asm.js, which is what the talk is about. A future where everything targets asm.js and vendors don't take the next step and create wasm. The talk has predicts a lot of what is happening around wasm.
- pjmlp 4y agoOnly because Mozilla refused to adopt PNaCL. The irony is that with its 3% market share, if it was today on the age of Chrome OS based Web, Google would have been able to push it no matter what.
- conaclos 4y agoWhy PNaCL could be better than WASM?
- photonbeam 4y agoWhat was the rationale for opposition?
- 5e92cb50239222b 4y agohttps://bugzilla.mozilla.org/show_bug.cgi?id=729481#c83 https://bugzilla.mozilla.org/show_bug.cgi?id=729481#c83 https://www.theregister.com/2010/06/24/jay_sullivan_on_firefox/ https://www.theregister.com/2010/06/24/jay_sullivan_on_firef...
- ksec 4y agoYes it is sad. Cause No body wants a Nuclear War and 40 million refugees off the coast of Australia.
- phoe-krk 4y agoYes. Probably the most scary thing is that this part is becoming more and more true as well.
- amelius 4y agoWasn't it kind of obvious that a virtualized hardware layer is to be preferred over heterogeneous hardware? Granted, it is surprising that browsers are increasingly taking this role rather than operating systems. But this module runs in the kernel.
- yjftsjthsd-h 4y ago> Wasn't it kind of obvious that a virtualized hardware layer is to be preferred over heterogeneous hardware? We've been trying for decades, and it only kind of caught on with Java, so no it's not really obvious that it's preferable.
- pjmlp 4y agoOn mainstream it already caught on with UCSD Pascal and VB (only compiled on VB 6.0 and P-Code was still an option), on the server room since a few decades, with IBM and Unisys mainframes being the survivors of such approach.
- phoe-krk 4y agoNot until hardware became fast enough and compilers performant enough to support this, and not until everyone had to learn their lessons with approaches like the JVM.
- amelius 4y ago> Not until hardware became fast enough and compilers performant enough to support this Yes, but the easy part is to think about what would be possible if hardware was fast enough. Not sure what you mean by lessons learned from JVM.
- phoe-krk 4y agoI meant that automatic garbage collection is not always the way to go for some people, especially in the days when JVM GCs were not as advanced as they are now.
- nequo 4y agoHe pronounces JavaScript as YavaScript. Is this a reference to another old language whose name we mispronounce today? Or just a joke to say that by 2035 JavaScript will be so irrelevant that we won't even know how its name was pronounced?
- marcosdumay 4y agoIt's very likely an accent inherited from his first language.
- mannerheim 4y agoI think it's a joke because I think I remember him pronouncing it differently in another talk.