Hacker News new | ask | show | jobs
by hresvelgr 1647 days ago
The Rust zealots I've noticed tend to have just very recently encountered the language. The developers who use it in production systems and in non-trivial applications tend to have a more mellow opinion lacking hype or whatever.

I use it during the work week and it solves a lot of problems and the ecosystem is maturing very quickly. Serde is by far the biggest boon of the language. It is truly state of the art as far as serialisation goes. I also agree with the writer about it not being hard. It's hard in the same way Erlang is hard, it just doesn't operate the way C-like languages conventionally do, though there are some similarities. The borrow checker is pretty easy to wrap your head around once you program more with it.

Overall its a good language. Not perfect, and I'm sure in the future we'll see some better languages, but for what it presents, it's as good of a tool as you'll get in some domains.

2 comments

Personally, it's less "Rust is great" more "We are seeking to address performance bottlenecks in security sensitive, uncontrolled inputs, please don't make me go back to C".
Things that solve hard problems tend to be beautiful only from the right angle
Since you’re kind enough to express a moderate opinion: do you have a comparison against C++?

The C++ “niche” seems to be no-performance-compromise, low-level-when-needed, high-level-sort-of, native compilation, seamless interop with C, and thus everything else. It is also very verbose, easy to shoot yourself in the foot, and requires a fair amount of proficiency to just use on a daily basis.

Can Rust be the replacement / successor?

Not the parent, but I think in a vacuum Rust would be pretty good at filling C++'s niche (minimal performance compromise, low-level-when-needed, high-level-sort-of, native compilation, though C interop is less seamless), plus it's more expressive/beautiful (but more troublesome if you want to mutate aliased pointers), and teaches you upfront to avoid pitfalls. But Rust has less thorough library support (though Rust does have some really cool libraries), and the existing practices around separate compilation and stable ABI can't be carried to Rust. I also dislike the culture of downloading dependencies from the Internet.
> and the existing practices around separate compilation and stable ABI can't be carried to Rust

They totally can, by using the C ABI. C++ ABI is not really "stable" anyway, it's been long due for a break.

For what it's worth, I think of Rust as simply encoding modern C++ best practices in the compiler and dropping all the old cruft.