Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Programming

Top Languages for WebAssembly Development: Rust, C++, Blazor, Go - and JavaScript? (visualstudiomagazine.com) 49

This year's "State of WebAssembly" report has been published by Colin Eberhardt (CTO at the U.K.-based software consultancy Scott Logic). Hundreds of people were surveyed for the report, notes this article by Visual Studio Magazine.

Published by B2B media company 1105 Media, the magazine notes that Eberhardt's survey included some good news for Rust — and for Microsoft's free open source framework Blazor (for building web apps using C# and HTML): This year, like last year, Rust was found to be the most frequently used and most desired programming language for WebAssembly development.... "Rust once again comes out on top, with 45 percent saying they use it frequently or sometimes," Eberhardt said. "WebAssembly and Rust do have quite a close relationship, most WebAssembly runtimes are written in Rust, as are the various platforms based on wasm. It also enjoys some of the best tooling, so this result doesn't come as a big surprise."

While Rust usage and desirability has continued to climb, the Blazor web-dev framework is coming on strong in the report, which treats Blazor as a programming language, though it's not. On that desirability scale, Blazor climbed from sixth spot in 2021 to fourth this year among seven "programming languages" [based on] percentage of respondents who use a given language 'frequently,' or 'sometimes' [for WebAssembly development] compared to last year. Eberhardt said, "Rust has had a modest rise in desirability, but the biggest climber is Blazor, with Go following just behind."

Commenting on another graphic that shows which language people most want to use for WebAssembly development, Eberhardt said, "This shows that Rust usage has climbed steadily, but the biggest climbers are Blazor and Python.

While you can now compile WebAssembly from a variety of languages (including C, #C, and C++), the report also found that JavaScript has somehow become a viable WebAssembly language — sort of, and even though JavaScript itself can't be compiled to WebAssembly... There's a cunning workaround for this challenge; rather than compiling JS to Wasm, you can instead compile a JavaScript engine to WebAssembly then use that to execute your code.

This is actually much more practical than you might think.

This discussion has been archived. No new comments can be posted.

Top Languages for WebAssembly Development: Rust, C++, Blazor, Go - and JavaScript?

Comments Filter:
  • The rustiest excuse (Score:3, Interesting)

    by Anonymous Coward on Saturday July 16, 2022 @01:52PM (#62708252)

    But the rust propaganda certainly is strong in this one.

    • by Anonymous Coward

      Scott Logic is a tiny little irrelevant consultancy that largely just picks up the dregs in the regions they operate due to being both entirely uncompetitive in their package, and having some of the dodgiest recruitment practices I've ever encountered that'll ring alarm bells for anyone half way competent - they pay for lots of different recruitment agencies to find people for them, reject the candidates via the agency, then track the candidates down with their own internal recruiters for example on LinkedI

      • OK, clearly you've got some strong (and negative) opinions about Scott Logic, and you are of course entitled to them. But I do want to at least address the facts.

        > Scott Logic is a tiny little irrelevant consultancy

        462 people, doesn't seem tiny or irrelevant.

        > that largely just picks up the dregs in the regions they operate

        Far from it, we hire the best we can find. Also, we're not elitest, we pride ourselves on hiring junior folk and training them up.

        > they pay for lots of different recruitment age

  • I'm so up an' coming, bitch. I gots tooling! Use me! Desire me! 45 outta one hundred baby! I got a close relationship all wasmgasm up in they-a. Like and s'scribe, hon! See ya next surv.
  • Rust, C++ or JavaScript...

    Are you sure "suicide is not an option"??
    • Don't worry, the most popular option is C#.
      Yeah, I know, here's your cyanide pill.

      • by bn-7bc ( 909819 )
        Ok I'm no expert, but what is wrong with c#? Ok before .net core ( renamed to .net) it's been cross platform if we discount things like winfiems uwp and wpf ( obviosly), I could agree since c# was mostly windows only but what us the reason now?
        • C# is a fine language. Using it outside of the Microsoft environment is a pain, though (that includes mssql).

          • A place I worked deployed Unity (the game engine) on Linux via Mono fire some multiplayer game servers and it worked well. (I'd characterize them as "medium-light duty": multiplayer, but not FPS / moba event rate or latency requirements.)

            This was already oh 5+ years ago. (they did have to patch since networking stuff for better performance/ stability, but that was more Unity than mono iirc). Dev was on windows.

          • Re:O.M.G. (Score:4, Informative)

            by Richard_at_work ( 517087 ) on Saturday July 16, 2022 @07:04PM (#62708762)

            Absolute and utter bullshit.

            My team is responsible for building, maintaining and running a couple of fairly large applications (as in, hundreds of thousands of daily users) that use a .Net C# backend.

            We develop on MacOS.

            We build (CI/CD) on Linux.

            We deploy on Amazon AWS using Linux containers.

            We pay Microsoft nothing - we use Jetbrains Rider for the IDE just fine, the .Net SDK and runtimes are free, we use a variety of databases for storage (none of which are MSSQL).

            We have absolutely no problems doing the above - stop propagating the bullshit myth that .Net is difficult on anything but a Microsoft platform. It is in-fact a dream to use.

      • I love C#

  • I'll still keep WebAssembly disabled ... don't want/need this.

    • I'll still keep WebAssembly disabled ... don't want/need this.

      It is unfortunate that, out of all the browsers, the only one that makes this easy to do is Firefox.

      • I'll still keep WebAssembly disabled ... don't want/need this.

        It is unfortunate that, out of all the browsers, the only one that makes this easy to do is Firefox.

        Yup (below). Fortunately for me, Firefox is my usual browser.

        javascript.options.wasm = false

        This is a little outdated but may offer some useful info: How to Disable WebAssembly [github.com]
        I think the "Edge" referenced is the older, non-chrome-based version. The current version of Edge should be configurable like Chrome.

        • It's mine as well, despite what sometimes seems like Mozilla's best efforts to drive me away. But the configurability, confined with the excellent cookie management options, just can't be replicated with Safari (or Chrome, for that matter - but, for me, Chrome is a non-starter anyway).

      • by PPH ( 736903 )

        ... and lynx.

  • Just great (Score:5, Informative)

    by fahrbot-bot ( 874524 ) on Saturday July 16, 2022 @02:12PM (#62708286)

    There's a cunning workaround for this challenge; rather than compiling JS to Wasm, you can instead compile a JavaScript engine to WebAssembly then use that to execute your code. ... This is actually much more practical than you might think.

    So also running *another* JS engine with its own set of issues and vulnerabilities -- nice. Much more practical. /sarcasm

  • The point (As far as I can remember) was not to replace JavaScript the language, but JavaScript the runtime. If JavaScript the language cannot run on it, it is completely idiotic as 100% of web devs today do JavaScript (or TypeScript which is JavaScript). Way to go to exclude 100% of your userbase.

    • Well, it's not 100% anymore, as blazor is increasing in popularity. Never really liked javascript.
      • by HiThere ( 15173 )

        I *like* JavaScript, but I don't trust it. It depends too much on insecure remote packages.

      • If only MS would stick with something longer than 2 years... they've made me second guess myself with every iteration of their... everything.

        • Well, VB6 still works with Windows 11, I know, I sadly still have to work with it daily, but it still gets the job done, even though I really miss thing like actual OOP (if only they would have released VB7 which was feature ready (and finally had real OOP) but withheld due to MS wanting to push .NET, it's still somewhere in their code vaults
    • The point (As far as I can remember) was not to replace JavaScript the language, but JavaScript the runtime.

      Some of the webassembly alternatives had that goal (asm.js if I remember correctly started with that approach), and V8 from Google is a lot faster.

      WebAssembly itself from the beginning had the goal to be like a bytecode that any language can compile to. And it's finally reaching that goal.

      • So IOW the Kool Kids have simply reinvented java craplets from the 90s. And in another 10 years the next gen will realise why they were crap, get rid of wasm and so the wheel revolves.

  • I think blazor is an amazing framework/developmentlanguage for the web, it was so much easier than to have to use javascript, as a C# (or even VB) developer.
    • by splutty ( 43475 )

      Blazor is... Not very good. The fact it's better than the non existent integration between C# and JS isn't exactly a high bar to reach :D

      • I think it's way WAY better then javascript.
      • What struck me about Blazor is how *simple* it really is. MS had a pre-existing template engine Razor, and Blazor is almost just the shadow-DOM layer on top. It compares the current rendering to the shadow DOM and updates the DOM with the changes (Blazor Webassembly), or ships the diff to the client (Blazor Server).

        They added some support for state (like cascading properties, event binding and expression binding) and that almost it!

        To make it work they had to compile the .NET base class library to webassemb

  • If I need blazing fast speed on the client, then I'll program a thick client where I can have better control of how it connects to other systems. This just seems like another silver bullet looking for a werewolf to shoot at. And neither silver bullets or werewolves actually exist in the real world. This makes Wile E Coyotes Acme Portable (security) Holes look more likely.

    • by tepples ( 727027 )

      If I need blazing fast speed on the client, then I'll program a thick client where I can have better control of how it connects to other systems.

      That's easier said than done when you don't know what operating system the user of your thick client uses. Not every user users Windows on x86-64.

  • Being surprised by this means someone doesn't understand what WebAssembly is.

  • For Python, PyScript [pyscript.net] built on Pyodide [pyodide.org] is every new but already pretty impressive.

The use of money is all the advantage there is to having money. -- B. Franklin

Working...