Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I work on a large mixed Rust/C systems codebase — been converting it piece by piece for a couple years now. The author's frustrations are legit, but I think the real question is simpler: how expensive are your bugs?

If a bug in your system means silent data corruption that nobody notices for a week — and I've lived this — Rust is worth every second of compile time. If a bug means a 500 and you redeploy, you're paying for insurance you don't need. Different worlds, different tools.

The thing I actually love about Rust — and this sounds weird — is how it handles failure. In C, every function call is an implicit "and also maybe something went horribly wrong, but let's just hope it didn't." You get used to it. You stop seeing it. Then one day you're staring at a corruption bug and you trace it back to an error return that got silently swallowed six call sites ago, and you feel physically ill. Result types are annoying when you're validating form input. They're a gift from god when you're the one who has to explain why someone's data is gone.

But yeah, for web stuff? Just use TypeScript. Life's too short to fight the borrow checker over a blog.

 help



> But yeah, for web stuff? Just use TypeScript. Life's too short to fight the borrow checker over a blog.4

I am not sure about TypeScript. I think having static typing is just too good of an insurance against stupid bug and for your own sanity. I think for web purposes, especially with LLM around, you probably should just use Go. You don't have to like it, but there's enough training dataset for your CRUD application. So all you really need to do is to be able to read it.


> I am not sure about TypeScript. I think having static typing is just too good of an insurance against stupid bug and for your own sanity.

TypeScript has static typing though?


Typescript has static typing. It’s called typescript..

Well, I prefer one that does not let me get off free and have a gaping escape hatch.

It’s like 2 lines in tsconfig to eliminate any escape hatch. Though it’s probably not worth doing in most cases.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: