4 ms·
> Is the main takeaway that GC makes managing trees/graphs a lot easier? It does indeed. But raw pointers in C or C++ also make it easier than Rust. Sure, it
by Const-me 9y ago
> Is the main takeaway that GC makes managing trees/graphs a lot easier?
It does indeed.
But raw pointers in C or C++ also make it easier than Rust.
Sure, it’s very easy to screw things up leaking and/or corrupting memory. But it still quite possible to implement correctly, I did that more than once.
Technically, you can usually do the same in Rust with unsafe pointers. Like the developers did to implement that LinkedHashMap for the Rust’s standard library. However, C++ is just better for writing unsafe code like this. After all, it evolved for decades being an unsafe language. Over that time, huge amount of stuff were implemented in the language (STL, esp. the checked version), runtime (debug heap), standalone tools (vtune, valgrind), and even OS (windbg) to help people implement e.g. graphs without leaking memory or exposing dangling pointers.