5 ms·
Ask HN: Does rust have a future?
- foldr 9y agoI mean, probably? Significant chunks of Rust code are already making it into Firefox. I will say that from my relatively limited experience of Rust, it's a language to use if you're really really sure that you can't use GC. Any time you want to use a graph-like data structure (which can quite often, in some applications) you have to do a significant amount of thinking that you just don't have to do in a language with GC. I don't mean that as a criticism of the language. Rust makes automatic non-GC memory management about as easy and flexible as it could be. But it's still a significant cognitive overhead.
- steveklabnik 9y agoYou don't have to do that thinking if you use a library which implements one for you, which is one reason why we made libraries so easy to use.
- foldr 9y agoIt's true in any language that you don't have to think about implementing a data structure if there's a library that already implements it. I think that clearly misses the point of what I was saying, though. Quite often you do have to implement data structures yourself. Here's a concrete example: https://en.wikipedia.org/wiki/Doubly_connected_edge_list https://en.wikipedia.org/wiki/Doubly_connected_edge_list This is a data structure that you're quite likely going to have to implement yourself. It is, obviously, possible to implement a DCEL in Rust. However, to do so it is necessary to make a number of decisions (unsafe pointers? indices instead of pointers?) that you don't have to make in, say, Go or Java, where you can just use ordinary pointers/references. Again, that is not a criticism of Rust. It's just an observation about its design tradeoffs.