3 ms·
There are two types of languages, those people complain about and those nobody uses, rust is closer to the later at this point in time. Outside a few filter bub
by flukus 7y ago
There are two types of languages, those people complain about and those nobody uses, rust is closer to the later at this point in time. Outside a few filter bubbles like HN rust is virtually unknown or little thought about.
I think the biggest issues are reliance on cargo (the systems language that ignores your system libraries) and lack of a stable ABI, this is why it will never replace C. Many people find the borrow checker aggravating. Even rust fans seem to find the compile times far too long. As with all languages some will find it too high level and others too low level, should it throw exceptions or should it use error codes, etc.
And let's not forget the rust fans brigading any disagreement.
edit - do you mean in general or for this specific issue on the LKML, my reply assumed in general.
- ahartmetz 7y agoEven though you probably just picked some language design aspects as random examples... Rust doesn't have recoverable exceptions. It has fancy error codes. It is also quite low level in the same spirit as C++: only pay for what you use, and what you use should not be possible to write more efficiently by hand.
- cesarb 7y ago> Rust doesn't have recoverable exceptions. Playing devil's advocate: when compiled with panic=unwind, it has. However, the fact that when compiled with panic=abort they turn into unrecoverable exceptions tends to make the "should it throw exceptions or should it use error codes" choice clear.
- epage 7y agoWe're talking use cases. In Rust, you'd use Result where in C++ you would use exceptions. Panic is equivalent to assert and should not be used where you'd use exceptions in other languages.
- pjmlp 7y agoC++23 might get value type exceptions, and the design is even being discussed across ISO C working group, so that will eventually change.
- littlestymaar 7y ago> Outside a few filter bubbles like HN rust is virtually unknown or little thought about. It's still pretty new, but it's gaining adoption quicker than what I would have expected. It's now used in Google, Facebook, Amazon, Dropbox and Microsoft. Most of the time it's for some niche or experimental project, but it's still an interesting trend. > I think the biggest issues are reliance on cargo (the systems language that ignores your system libraries) This is not accurate. There is no "reliance" on cargo, you can just use plain rustc and it would work. And you can of course link dynamically to a system's library: by default Rust's binaries are even linked with the system's libc actually, and AFAIK most external C dependencies are linked that way (bindings to openSSL for instance). > and lack of a stable ABI Many people would love to have a stable ABI, but it's way too early for that because it would freeze Rust development, while there are still a lot of things that need to be improved in the language. I agree with you on compile times though and I hope things continue to improve in that regard.
- agumonkey 7y ago> gaining adoption quicker than what I would have expected Basically that's what I was trying to say but failed somehow.
- gwd 7y ago> Outside a few filter bubbles like HN rust is virtually unknown or little thought about. FWIW I had been hearing buzz about Rust from the community that I work with regularly (including the occasional "I'm working on rewriting $COMPONENT in Rust") long before I started frequenting HN.