3 ms·
I don't think #2 is at all fair. I'm certainly of two minds about Rust and its ergonomics. But #2 seems to assume that C is some kind of default and canonical p
by convolvatron 1y ago
I don't think #2 is at all fair. I'm certainly of two minds about Rust and its ergonomics. But #2 seems to assume that C is some kind of default and canonical programming model, and to the extent that I like rust, its because they made different and internally consistent design choices.
- bangaladore 1y agoC/C++ is the "default" language they are/were trying to replace with Rust. So I think it's fair to point out that Rust made design decisions explicitly contrary to design decisions of C/C++ style languages even though Rust is meant to replace it. That's going to (and does cause) problems.
- kibwen 1y ago> design decisions explicitly contrary to design decisions of C/C++ style languages even though Rust is meant to replace it Yes, but that doesn't have to do with whether they "like" C++ or not. What they "liked" is a programming model that could possibly be theoretically proven safe by any sort of tractable static analysis, and that inevitably means making decisions contrary to C/C++. Achieving their design goals was more important than adhering to C++'s mistakes for sentimental reasons.
- bangaladore 1y agoYou are confusing problem 1 (memory / thread safety) with problem 2 (being distinct from C/C++). I'm not here to argue about changes made that are necessary to solve problem 1, but I'm also not here to pretend that all the differences Rust has compared to a C-style language like C/C++/C# is largely due to supporting memory / thread safety.
- kibwen 1y agoYou continue vaguely asserting "differences" and then retreating when challenged. So please be specific: what differences?
- adastra22 1y agoAt the time that Rist was created, C/C++ and Java were pretty much the only industry standard languages.
- kibwen 1y agoNo, even by 2010, Javascript, PHP, and Python would have all already surpassed C and C++ by number of professional programmers in industry.
- torstenvl 1y agoBut C is the default and canonical programming model. It is the native language of every major operating system. It is the language most closely tied to mainstream ISA assembly, and—symbiotically—which mainstream archs have tried to optimize for. It's one of few languages that are completely public, in the sense that it is not de jure or de facto owned by a single market participant. And it is the only language that both has standardized ABIs (per platform) but API and ABI compatibility implemented in a huge number of other languages. There is no extern "Rust" {} in C++. There is no with Convention => Swift in Ada. There is extern "C" and with Convention => C exactly because because C is the de facto standard that everything has to interface with.
- array_key_first 1y agoFor historical reasons. Which are very good reasons, but IMO we shouldn't just be forced to deal with the first somewhat okay solution we come up with for now until the end of time. C is a fine language, but there are so many glaring and obvious mistakes.