4 ms·
Yes, it is the difference between "in theory" and "in practice". In practice, almost no one would write the C required to keep up with the expressiveness of mod
by jandrewrogers 10mo ago
Yes, it is the difference between "in theory" and "in practice". In practice, almost no one would write the C required to keep up with the expressiveness of modern C++. The difference in effort is too large to be worth even considering. It is why I stopped using C for most things.
There is a similar argument around using "unsafe" in Rust. You need to use a lot of it in some cases to maintain performance parity with C++. Achievable in theory but a code base written in this way is probably going to be a poor experience for maintainers.
Each of these languages has a "happy path" of applications where differences in expressivity will not have a material impact on the software produced. C has a tiny "happy path" compared to the other two.
- pjmlp 10mo agoAlso in theory, one could be using a static analyser all the time as a C or C++ build step. Lint is part of UNIX toolset since 1979, and we have modern versions freely available like clang tidy. In practice, many devs keep thinking they know better.