3 ms·
As someone who's literally never written a single line of Rust and has shipped lots of C and C++, this is a nonsense argument. So what if C++'s model has "worke
by kevingadd 5y ago
As someone who's literally never written a single line of Rust and has shipped lots of C and C++, this is a nonsense argument. So what if C++'s model has "worked" for 36 years? It survives through momentum, it really doesn't matter how well the model works because it's hard to replace. Same with C. There are virtues to both languages and their standards processes, but big players wouldn't be pushing towards adopting Rust if the C and C++ models actually were up to the needs and standards of software in 2021.
C++'s standards process and pace haven't stopped the stdlib from being filled with bad implementations of primitives that people have to replace with libraries like Boost or custom per-vendor implementations - why do you think so many companies (game studios, facebook, etc) ship their own versions of the C++ STL, or prohibit the use of the STL entirely? Why do so many libraries ship with a C++ wrapper over a C public interface instead of the opposite? Why do binary-only libraries written in C++ so often ship with unique builds for various compilers instead of a single binary like a C library? The main answer to all of these questions is that C++ is deficient by design in all sorts of ways - underspecified ABI, low-quality stdlib specs, bad encapsulation, bad performance characteristics, etc.
- oscardssmith 5y agoI think a lot of it is that modern languages (python to some extent, rust Julia etc) implimented many more of their features themselves. Julia, for example, has some basic stuff defined in C, but 70% of the code is just Julia. Since most of the changes between releases are in the language, they don't introduce new syntax or make the language feel messier. They just slightly expand what the language can do easily.