←back to thread

205 points michidk | 7 comments | | HN request time: 0.81s | source | bottom
1. Do123 ◴[] No.41835611[source]
Didn't they just have a shitty implementation written in C (could have been any other language...it's not the language!) and than learned from the past mistakes and written a new implementation in Rust(could have been any other language)? And now the author tries to attribute it's success to Rust?
replies(2): >>41835651 #>>41836185 #
2. alex_suzuki ◴[] No.41835651[source]
Maybe. But them the dev wouldn’t have been able to add „Completed a migration of legacy C codebase to Rust with zero issues in production“ to their resume. Also might have been easier to get budget for „build something new to replace old thing“ than „fix pesky bugs in somewhat-working existing thing“.
replies(2): >>41836519 #>>41839144 #
3. pornel ◴[] No.41836185[source]
I've done many rewrites of C in C, and C in Rust, and there is a big difference that is directly attributable to Rust.

The safety of references, no raw malloc, no null pointers, compiler-checked thread-safety of types, consistent and enforced error handling help a lot to make robust programs, and allow making bigger refactorings without fear of screwing something up.

The Turing Tarpit means that theoretically everything you can write in Rust you could have written in C, but in practice Rust enables things that wouldn't be worth the risk/effort in C, even when doing a ground-up rewrite.

4. diggan ◴[] No.41836519[source]
Not to mention it could also be more fun, something that sometimes can be more important than we think :)
replies(1): >>41836855 #
5. alex_suzuki ◴[] No.41836855{3}[source]
For the dev, absolutely:)
6. zifpanachr23 ◴[] No.41839144[source]
Given the difference in availability of jobs and the amount of code out there, unless you are working in startup world or on web dev, this would be a major red flag on a resume in a lot of cases. Even the use of the word "legacy" is a problem. Like, this isn't "legacy" you asshole, this is our companies highest revenue product with a decade of hard work behind it and we don't want somebody that is going to be constantly trying to shill rust when we hired you to help maintain an important C codebase that is part of the foundation of the business. We need you to get good at C, despite all its flaws and issues, not complain.

This kind of attitude only works in an exceedingly small part of the software world that just happens to be disproportionately represented on sites like HN. Elsewhere, it's not a good luck to be using words like "legacy" on a resume without a lot of explanatory text about why exactly it really was legacy and deserved a full rewrite.

replies(1): >>41840751 #
7. ryandrake ◴[] No.41840751{3}[source]
“Legacy” is just the tech industry’s passive aggressive euphemism that means “it’s old and I haven’t learned how it works.”

I have the same sense as you: when someone tells me they rewrote their company’s “legacy” code, my spidey sense perks up. Now I’m wondering if there was really a good reason or if he just refuses to learn an existing code base.