Hacker News new | ask | show | jobs
by gorjusborg 1367 days ago
Rust in a web dev shop would be a huge premature optimzation smell for me.

Most public web apps are expected to be up pretty much all of the time, which today, means cloud hosting and horizontally scalable architecture. In such a setup, I don't see how squeezing every last drop of performance is worth it. When I can just change a number and get more instances, choosing the language with higher cognitive load is going reduce any cost savings due to lower resource usage.

Doing something as mundane as writing text to a socket just doesn't need to perform all that well. Developer effort costs more than the CPU/memory.

1 comments

Performance isn't Rust's only feature. I would say it isn't even its most important one.

I've written websites with Rust simply because it's a sane modern language with few "gotchas" and a type system and borrowing system that allows you to eliminate huge classes of bugs (not just memory errors!)

That said I think the Rust web ecosystem is not super mature (especially client side) and most web frameworks use `async` which is one of the sketchiest parts of Rust IMO. So I don't think it would be entirely unreasonable to use something else. Especially Typescript, for the SSR/isomorphic apps.

How does this compare to let's say Java, which has both type-safety and a mature web ecosystem?
Java's type safety is far far weaker than Rust's and it doesn't have the borrowing system, so you don't get the "if it compiles it works" experience you do in Rust and (so I'm told) Haskell.

It does have a very mature server side web ecosystem so it's a perfectly reasonable option. I've written Java web servers before and it was fine.

I wouldn't use it for client side though (a la GWT). Debugging nightmare.

Fair enough.

I guess what's implicit in my attitude is that I think Rust introduces cognitive load that other (especially garbage-collected) languages do. There has to be enough of a win gotten to offset that. I used performance as the most likely reason I could think of.