3 ms·
More like half. A large fraction of the Rust community is folks coming from non-systems languages who saw Rust as a gateway to systems. But we have both, and m
by Manishearth 9y ago
More like half. A large fraction of the Rust community is folks coming from non-systems languages who saw Rust as a gateway to systems.
But we have both, and most of the folks doing comparisons with C++ do tend to be actual C++ devs (because if you're coming from Python or Ruby and haven't done C++ you really ... can't? compare with C++?). At least within the community folks pretty strongly care about misrepresenting other languages so if stuff is inaccurate it gets called out; and for most "rust vs foo" blog posts I've only rarely seen glaring mistakes a few times. Small mistakes are common but those are common to any kind of post.
I took the comment in the post as a bit of hyperbole and probably referring to subjective bits that Rust+C++ & only-C++ programmers tend to disagree on.
In general most of the vocal Rust folks who talk about C++ talk about C++ because they have lived it.
shrug
- steveklabnik 9y agoIt can get more subtle than that too, though. For example, see this recent discussion I had on this topic: https://www.reddit.com/r/programming/comments/72p472/why_did_we_choose_rust_over_golang_or_cc_to/dnlp9m7/ https://www.reddit.com/r/programming/comments/72p472/why_did...
- SAHChandler 9y agoThat post in particular was a subject of discussion at CppCon for a hot second and is partially why I mentioned the Rust thing. There are other things as well, but I don't want to rake people if it isn't necessary. I pay attention to the Rust subreddit and I see enough misconceptions about C++ and how it works in various comments that it helped reinforce my choice to include that snarky statement. I do understand why so many C++ programmers at CppCon thought that Rust can be dismissed as a fad because of its community's understanding of C++. That said, this sort of parroting about how C++ works and why it is "bad" is everywhere and you can even see it in the comments on this very submission (such as mention of std::variant and implicit conversion to bool. That specific issue is easily remedied but wasn't part of the specification. It's been noted as a defect and will be fixed "soon"?) I still chuckle when randos make arguments like "C++ can't be parsed with an LALR parser", or "virtual functions are more expensive than function pointers", as if the former is the end of the world, and the latter is a checkmate that will suddenly make my knees week, arms heavy. There's code in my editor, and it's just spaghetti.
- steveklabnik 9y agoInteresting, thanks. I asked in that thread because I legitimately wanted to know; I very much know that my C++ knowledge is ancient, and that many things are very different now. Always learning!
- stepik777 9y ago> I still chuckle when randos make arguments like "C++ can't be parsed with an LALR parser" I'm not an expert on parsers but I don't think LALR parser can evaluate constexpr C++ functions which is required for parsing C++. E.g. in the following code, expression `A<f()>::a * u` will parse either as a variable declaration (int* u) or a multiplication (5 * 5) depending on the value returned by constexpr function f: template<bool b> class A {}; template<> struct A<true> { typedef int a; }; template<> struct A<false> { static const int a = 5; }; constexpr bool f() { return true; } const int u = 5; int main() { A<f()>::a * u; }
- gpderetta 9y agoI think that the OP point is that it doesn't matter much.
- deleted 9y ago[deleted]