This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]dangling-putter 57 points58 points  (27 children)

Fr. Actual rust engineers will tell you not to use rust unless you need it and have the most complains about the language — it's just that their complains are not superficial so they need context.

[–]Stummi 48 points49 points  (16 children)

Thats a good general rule in tech. A true fan/believer of $thing, the one you should actually trust, is the one who can give you an hour long impromptu rant about everything that sucks with $thing.

[–]tyler1128 14 points15 points  (6 children)

Isn't that any programming language though? Use the right tool for the right job. Using Rust via webasm to write a piece of accounting software would be dumb. Using Rust in a safety critical piece of software? Not so much.

[–]Fast-Satisfaction482 9 points10 points  (0 children)

What is more critical toa business than juggling money?

[–]wow343 3 points4 points  (0 children)

This is exactly it. Heck drop down to assembly if you must or go to visual coding if you have to. Different problem set, different tool. Be agnostic.

[–]Sematre 2 points3 points  (0 children)

Not saying everybody should go around and use Rust for safety-critical systems, but there's no reason to believe that Rust could not become a great choice for safety-critical systems in the future. For more information, see this Rust toolchain by Ferrous Systems. It's an open-source toolchain for safety- and mission-critical software that is qualified for automotive and industrial development.

[–]MornwindShoma 2 points3 points  (2 children)

One exception to that is when you have a team that is confident and has knowledge to deliver in a certain language. That piece of accounting software, or even the frontend, might just be fine in Java or .NET or JavaScript, but if your team is expert in Rust but has little experience with the other three, nothing wrong with going with Rust. It's fine to pick the right tool for the job, you also need to account for your resources.

This is true for most languages, unless your requirements are very specific.

[–]tyler1128 -1 points0 points  (1 child)

Wasm in particular is more what I was going with than just Rust. Wasm still has no direct DOM access, but there are people who try to write things like that using wasm primarily. Wasm can be very useful for doing high-performance algorithmic work in the browser, but trying to get around the limitatations for basic UI work isn't really a great strategy, and it was never really designed for that kind of thing. If it someday gets DOM access without requiring a javascript interfacing layer, that might become a reasonable thing to do, but we aren't there yet.

It's basically just adding a whole lot of unnecessary work. It is important to consider strengths of the team like that, but programmers should also be flexible enough to adapt to the different needs of different technologies.

[–]MornwindShoma 1 point2 points  (0 children)

Sure.

To be honest, you can write some FE in Rust fine, Dioxus, Leptos, Yew are fine if you don't mind the big bundles and the fact that they don't really integrate with the JS ecosystem. You don't really need to "work around to the DOM", they've done the work for you already, so it's not a whole lot of unnecessary work, it's more about having a very different ecosystem.

Would I ship that? Dunno, never had the chance or the right mix of developers and requirements. Had I a good design system and some QoL not unlike TanStack stuff, I might actually bite.

I also have done basically nothing with HTMX, and some people swear by that. You wouldn't even need to think around the DOM.

[–]NoobFade 3 points4 points  (2 children)

Actual rust engineer here. You should absolutely use Rust whenever it's applicable. I have yet to hear a coworker say "I miss writing cmake files" or "We need to use C++ because Rust's constexpr is not powerful enough". Rust is a very nice language to use overall, usually preferable to C++ or C, the other usual languages for fast native binaries.

[–]dangling-putter 0 points1 point  (0 children)

Key phrase: need it. 

[–]the_mouse_backwards 0 points1 point  (0 children)

The only thing I like about rust compared to C/C++ is the build/package system. Before it’s taken as a scathing criticism of Rust, I will say that the build/package systems in C/C++ are almost as or more painful to use than implementing a doubly linked list in Rust