4 ms·
There are good arguments against C++, but they resume to its extreme complexity and lack of extra safety compared to C. Both are fair points and why I avoid it.
by lucian1900 13y ago
There are good arguments against C++, but they resume to its extreme complexity and lack of extra safety compared to C. Both are fair points and why I avoid it.
- Ragnarork 13y agoWhat do you mean by "Lack of extra safety compared to C"? I'd have imagined the exact opposite, but maybe I'm missing something there.
- pjmlp 13y agoC++ is way safer than C thanks to stronger type checking and what you can achieve via library types like STL collections. However the C unsafety is still present due to the compatibility compromises with C in C++'s design. With teams it is very hard to control what each developer makes use of, even with static analysis.
- Ragnarork 13y agoThat was kind of my point. I really think that if anything, C++ cannot be as unsafe as C. You can do crap in C++ just as well as you can do in C, but at least C++ gives you tools to do things way more safely IMO.
- pjmlp 13y agoYes, that is one reason why I never liked C, but do enjoy C++ for personal projects or when everyone on the team is quite comfortable with it. For the other type of enterprise projects I rather use languages that follow Algol linage of memory safety.
- lholden 13y agoI consider modern C++ to be a lot safer than C. Between RAII, copy, and move schematics the pointer use has gone down quite a bit. When you do use pointers, we finally have a real null pointer literal now. (I believe the latest C spec has also received this.) C++ is certainly crufty. The language has been around for a long time and many features in the specification exist to support legacy code. This is a side effect of being a living language with a huge user base. Modern C++ tends to be fairly clean and reasonably easy to work in. Herb Sutter has some great talks and blog articles around the topic. For example: http://channel9.msdn.com/Events/Build/2014/2-661 http://channel9.msdn.com/Events/Build/2014/2-661
- azth 13y agoI think it is somewhat telling that even gcc switched to C++.