Hacker News new | ask | show | jobs
by pier25 588 days ago
Seriously doubt it but time will tell.

There aren't that may new projects where rust would be a good fit. And projects in C++ won't be rewritten in rust.

4 comments

I have gut feel (perhaps only because my echo chamber includes the Rust Evangelism Task Force) that Rust/WASM is likely to become the go to stack for complex web apps.

Google (collectively) have written quite a bit about Rust adoption going back at least a couple of years. It'd kinda surprise me if there weren't some drive to write gmail/googledocs in Rust and deliver them as WASM. Meta/Facebook have some strong internal Rust evangelism going on.

I doubt it's a good idea, but it's likely my first trial "lets write a Rust project" will be an in-browser Rust/WASM thing.

> that Rust/WASM is likely to become the go to stack for complex web apps

What kind of apps?

On the backend there are plenty of mature ecosystems already that have been around for decades. Even focusing only on performance there's not a huge difference with say .NET or Java when looking at web benchmarks like TechEmpower[1].

On the frontend nothing can really beat the DX of using Vite with JS (hot reload of JS components, styles, etc). I don't know if it's even possible to get hot reload with WASM.

I could be wrong but it sounds like doing a complex web project in Rust would be a pain with not a lot of benefits over more popular and mature solutions.

[1] https://www.techempower.com/benchmarks/#hw=ph&test=fortune&s...

> complex web apps

Heh? I really like Rust, but it has absolutely zero advantage for this domain compared to the existing million choices. Unless you are doing some low-end web stuff with packets, any managed language will have a much better developer experience. Async rust is not particularly easy, and something like Java's virtual threads will give you both the ergonomics and the throughput, and then we haven't even talked about how much bigger the relevant ecosystem is (remember that the only order of magnitude improvement in dev productivity is from code you don't have to write)

I think the advantage is just that the same code runs on the server and in the browser, same as with a lot of code for Node.js.

For example, I wrote an ssg in rust but I was able to fully compile it to wasm and it works in the browser.

WebAssembly adds a virtual machine so you run any high level language in the browser.

C++, Java, Go, Erlang, Rust, PHP, JavaScript, C#, whatever

Google has been doing it 2 decades ago with Gmail and the like. They could compile java to js. More recently, clojure and c#'s blazor come to mind that have the same ability.
> There aren't that may new projects where rust would be a good fit

Aren't almost all new projects that otherwise would have been written in C or C++ good fits for Rust?

Almost all? I doubt it.

The C++ ecosystem is too strong.

There are many industries like game dev and audio dev where C++ is not going to be replaced any time soon, even for new projects.

Also plenty of apps that need high performance crossplatform GUI will probably keep relying on QT. Apps like Da Vinci Resolve or Autodesk Maya.

In theory, the language might be a decent fit. But it’s not the language (mostly), it’s the library and ecosystem. Definitely not enough to unseat C++ yet for many new projects.
"Almost all" is a stretch.

Certainly a lot, and most new C/C++ (and even Go) projects will mention that they considered Rust before choosing a different language.

Rust is often used for things that you wouldn't necessarily use C++, though. Web backends (but mostly APIs at least as far as I've seen), CLI tools, various bots (like at my day job we have a Discord bot written in Rust) etc.
Rust holds a lot of appeal for web devs looking to leverage performance gains in build-time tooling (e.g. Biome replacing ESLint and Prettier) and bridging the native desktop gap (eg Tauri replacing Electron). There are more examples but those were front-of-mind.
I could be wrong but my impression is that Go is more popular than Rust in this area.
Respectfully, I think your impression is mistaken. I gave specific examples of Rust adoption for webdev build tooling, but am not aware of any comparable Go equivalents. (When it comes to runtime services, that's another story, where Go has made more significant inroads.)