4 ms·
C++ is perfectly able to interface and interact with C libraries. Also it doesn't necessarily produce larger or slower binaries. Virtually everything is optiona
by std_throwaway 7y ago
C++ is perfectly able to interface and interact with C libraries. Also it doesn't necessarily produce larger or slower binaries. Virtually everything is optional. The only hard part about C++ is to identify the good parts (those that are useful for your project) and to not use the other parts. Then you can do "C with templates" or "C with simple classes that have proper RAII" but you don't need exceptions. The argument that I keep hearing is kind of the "slippery slope" that if one allows a little bit of C++ the rest will come creeping and with it will come all complexity. This shows that project management is weak and tries to deal with this weakness by selecting tools with limited capability. A method that seems to work reasonably well in cases like the Linux kernel.
- hyperman1 7y agoUnfortunately, for any human activity at scale, project management is weak. You can get good quality with small teams, but when more than 100 people are together, you can be sure that someone is going to commit every athrocity they can get away with. And then major damage happens, even if all the other people do aperfect job. See Boeing recently. See chernobyl. See any major disaster. So having tooling that limit your ability to do damage, even at the cost of pain for power users, is one of the few ways to keep humanity in check.
- teddyh 7y agoUnfortunately, in order to pick the good parts of C++ which are appropriate for your project, you first have to know all of C++.