6 ms·
A lot of people misunderstanding Rust's appeal for this kind of thing: Git is about data integrity. Improved correctness is extremely valuable here. Rust can
by anacrolix 2y ago
A lot of people misunderstanding Rust's appeal for this kind of thing:
Git is about data integrity. Improved correctness is extremely valuable here.
Rust can be injected into native projects because it has no runtime requirements. So here it's ideal and makes a true rewrite unnecessary unlike other languages.
Rust is creeping into system software as a wholistic replacement. It's very rare that a language can actually entirely replace C/C++. However it's discovering that the process is incredibly slow.
There are things Rust isn't as good for, but it's only a matter of time before those gaps close (mainly around specialised environments and targets).
I don't know if Rust will actually succeed in replacing C/C++ before something better comes along but the writing is on the wall. If you want to get in early on Rust, now is a good time.
- norir 2y agoIt seems strange to call now early on rust given how long it has been around. I personally believe that rust has some intractable problems that make it quite unlikely that it ever reaches even half of c/c++ level ubiquity. The problems begin with the incredible complexity of the language which manifests in cryptic error messages, puzzling syntax and brutal compile times. The latter especially is a complete non starter for me. I would have to be at risk of going homeless with slinging rust as my only employment option before I would voluntarily subject myself to rust compile times every day. My hunch is that we are going to see smaller, more specialized languages take off in the next decade. Compared to past eras, it is now so much easier to build quality language tooling that we can have the best of both worlds: small targeted languages, optimized for the relevant problem domain, _and_ professional quality tooling.
- mongol 2y agoCan you exemplify what kind of specialized languages you think we will see? Is Zig an example?
- dboreham 2y agoYou forgot the 10's of GB files the compiler generates for debug builds.
- anon291 2y agoI honestly cannot take a comment criticizing rust compared to c++ for brutal compile times And I'm a c++ programmer
- rileymat2 2y agoOr any c++ programmer using templates, as far as cryptic compiler messages.
- anon291 2y agoYeah. Do MLIR for my dayjob, and I'm waiting several minutes in between dev cycles.
- binary132 2y agodoes Rust even support incremental compilation correctly yet? after how many years now?
- steveklabnik 2y agoRust has had incremental compilation on by default in debug builds since February 2018.
- TheCoelacanth 2y agoRust errors occasionally are difficult to comprehend, but in general I have found it to have the best error messages of any language bar none.
- asoneth 2y ago> It seems strange to call now early on rust given how long it has been around. The first stable release of Rust was almost ten years ago at this point so I agree that this isn't particularly "early" in technological timeframes, but I suppose it could be considered young compared to C++ (first stable release ~40 years ago) or C (~50 years ago).
- bionhoward 2y agoCryptic error messages? maybe in comp time type level code Puzzling syntax, I simply disagree, it’s not that bad, can you give an example? Brutal compile times? Idk, for me it’s usually instant, and if there’s a problem I know right away instead of needing to wait for runtime crashes Rust has been hella worth it for me. Only time I didn’t like it was when I tried to “impl Future for T” instead of writing “async fn”
- Ferret7446 2y agoData integrity in Git isn't that hard. It hashes things. And compresses things. It's not a file system. The kinds of bugs that would cause data integrity issues in Git wouldn't be improved by Rust, because they're regular old bugs, like adding or multiplying the wrong numbers. In fact, Git is probably one of the types of programs that least benefit from Rust. As a one shot program, you technically don't even need any memory management. You can just malloc stuff and let the kernel collect it when the process exits.
- cozzyd 2y agoif anything, memory management makes it slower...