2 ms·
A broken one. I find this argument deeply frustrating. C++ doesn't even try to make graph memory management safe. Rust has several different strategies for gra
by pcwalton 8y ago
A broken one.
I find this argument deeply frustrating. C++ doesn't even try to make graph memory management safe. Rust has several different strategies for graphs, all of which have some drawbacks, but which are all nonetheless safe. But because they aren't quite as ergonomic as C++, C++ somehow wins. No. C++ graph management is unsafe, regardless of whether you're using the lifetime profile.
- pjmlp 8y agoMy devil's advocate comments are exactly about "But because they aren't quite as ergonomic as C++, C++ somehow wins", better language ergonomics are critical to a language's adoption. One reason why Pascal, Ada and Modula-2 lost against C, was because they weren't ergonomic enough to the eyes of many developers. The typical magazine articles why using them felt like ceremony and straitjackets by those whose security wasn't on their top concerns. So I get to have a bit of experience being on the losing side, arguing how using array indexes with bounds checking (which could be disabled if really needed) was a better option than just incrementing away bare bones pointers. Or why explicit type casts were a better option. Ideally, I would be using C# or Java for everything I do, so it isn't about C++ vs Rust as such, rather making the point that it is not only about grammar and semantics when comparing programming languages. Given Biscuit's paper, I would say Go is on the good path if their Go 2.0 plans actually play as promise. Which remains to be seen, nonetheless. In the end it is a matter of ergonomics and perceptions.