<story><title>WASM: Big deal or little deal?</title><url>https://www.theregister.com/2023/09/01/web_assembly_wasm_column/</url></story><parent_chain><item><author>ivanmontillam</author><text>I&amp;#x27;m rooting for WASM to win.&lt;p&gt;One of the things that discouraged me from Front-end Web Development is JavaScript weirdness. It just has too many pitfalls and it&amp;#x27;s very hard to debug for a newcomer unless you study a proper JS course that tells you precisely all of these traps before you get burned. I&amp;#x27;ve never found a programming language that didn&amp;#x27;t behave like I expected it on first touch, except for JS.&lt;p&gt;I am fully aware TypeScript exists, and there are transpilers where the syntax (modern ECMAScript) and rules are more appropriate to current times, but these aren&amp;#x27;t &amp;quot;native&amp;quot; of the browser. You must still transpile to the hazardous old JS. I know transpilers avoid many of these pitfalls, &lt;i&gt;but I cannot avoid feeling like I&amp;#x27;m building a skyscraper in quicksand.&lt;/i&gt;&lt;p&gt;The hard thing about talking about this exact topic it&amp;#x27;s that I&amp;#x27;m sure my comment will trigger negatively a ton of developers, because talking about JS like this it&amp;#x27;s going to feel like I&amp;#x27;ve insulted a cult. Let me be clear this is not my intention. I come from the static-typed programming languages world, so I have a preference for my programming to be the most correct.&lt;p&gt;WASM to me provides this solid foundation, if only (big IF) we manage to create a browser where the main execution virtual machine is not a JS one. I&amp;#x27;ve dreamed of a browser that supports multiple stacks, instead of the HTML&amp;#x2F;CSS&amp;#x2F;JS monopoly. For instance, why&amp;#x27;d be too hard to think about something like HTML&amp;#x2F;CSS&amp;#x2F;Python?[0]&lt;p&gt;JS has been a discourager to me career-wise, and I&amp;#x27;m doing great in Back-end Web Dev, but I&amp;#x27;m pretty sure I&amp;#x27;m not the only one feeling this way about it. The web should be more accessible in this sense.&lt;p&gt;--&lt;p&gt;[0]: I am aware of the existence of Brython: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;brython.info&amp;#x2F;&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;brython.info&amp;#x2F;&lt;/a&gt;, but it&amp;#x27;s not my point, that is still Python-over-JS.</text></item></parent_chain><comment><author>phil_kahrl</author><text>I think WASM will win.  I&amp;#x27;ve been using JavaScript for 25+ years, and I just wrote a SPA using Rust&amp;#x2F;WASM using the Leptos framework: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;leptos-rs&amp;#x2F;leptos&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;leptos-rs&amp;#x2F;leptos&lt;/a&gt;, and now I don&amp;#x27;t want to go back to JavaScript.  Cargo is a superior package manager, with Cargo I might actually be able to let me my project sit for a year or two and go back and build to a working runtime without having to do a lot of dependency updates (good luck doing that with NPM).  Rust has a solid type system, and with the borrow checker along with pattern exhaustive matching I can write something that I know is solid and will be difficult to break.  There is no need to have multiple stages build pipeline running through Babel and Webpack which need to be properly configured; simply compile Rust to the WASM target and that is it.  The WASM bundle is also likely to be smaller than a corresponding JavaScript bundle.  Additionally, with Rust it is easier to do low-level stuff in the client efficiently such as feature extraction from image binaries. Also, the application I wrote with WASM is faster than a similar app I wrote in React, although I attribute that mostly to the fact that Leptos does not use a virtual DOM as React does.</text></comment>
<story><title>WASM: Big deal or little deal?</title><url>https://www.theregister.com/2023/09/01/web_assembly_wasm_column/</url></story><parent_chain><item><author>ivanmontillam</author><text>I&amp;#x27;m rooting for WASM to win.&lt;p&gt;One of the things that discouraged me from Front-end Web Development is JavaScript weirdness. It just has too many pitfalls and it&amp;#x27;s very hard to debug for a newcomer unless you study a proper JS course that tells you precisely all of these traps before you get burned. I&amp;#x27;ve never found a programming language that didn&amp;#x27;t behave like I expected it on first touch, except for JS.&lt;p&gt;I am fully aware TypeScript exists, and there are transpilers where the syntax (modern ECMAScript) and rules are more appropriate to current times, but these aren&amp;#x27;t &amp;quot;native&amp;quot; of the browser. You must still transpile to the hazardous old JS. I know transpilers avoid many of these pitfalls, &lt;i&gt;but I cannot avoid feeling like I&amp;#x27;m building a skyscraper in quicksand.&lt;/i&gt;&lt;p&gt;The hard thing about talking about this exact topic it&amp;#x27;s that I&amp;#x27;m sure my comment will trigger negatively a ton of developers, because talking about JS like this it&amp;#x27;s going to feel like I&amp;#x27;ve insulted a cult. Let me be clear this is not my intention. I come from the static-typed programming languages world, so I have a preference for my programming to be the most correct.&lt;p&gt;WASM to me provides this solid foundation, if only (big IF) we manage to create a browser where the main execution virtual machine is not a JS one. I&amp;#x27;ve dreamed of a browser that supports multiple stacks, instead of the HTML&amp;#x2F;CSS&amp;#x2F;JS monopoly. For instance, why&amp;#x27;d be too hard to think about something like HTML&amp;#x2F;CSS&amp;#x2F;Python?[0]&lt;p&gt;JS has been a discourager to me career-wise, and I&amp;#x27;m doing great in Back-end Web Dev, but I&amp;#x27;m pretty sure I&amp;#x27;m not the only one feeling this way about it. The web should be more accessible in this sense.&lt;p&gt;--&lt;p&gt;[0]: I am aware of the existence of Brython: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;brython.info&amp;#x2F;&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;brython.info&amp;#x2F;&lt;/a&gt;, but it&amp;#x27;s not my point, that is still Python-over-JS.</text></item></parent_chain><comment><author>bazoom42</author><text>&amp;gt; I&amp;#x27;m sure my comment will trigger negatively a ton of developers, because talking about JS like this it&amp;#x27;s going to feel like I&amp;#x27;ve insulted a cult.&lt;p&gt;Just FYI this line of argument is called “poisoning the well”. Definition from Wikipedia:&lt;p&gt;&amp;gt;  a type of informal fallacy where adverse information about a target is preemptively presented to an audience, with the intention of discrediting or ridiculing something that the target person is about to say.&lt;p&gt;It is not conductive to a reasoned discourse about a technical topic.</text></comment>