Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I guess it depends what you mean by that.

If you have a program in "mostly C", you can start using RAII to manage your ressources. Then use std::unique_ptr, std::shared_ptr, and references instead of raw pointers. And namespaces. That already brings you to a very nice place without shifting completely to modern C++.

You don't have to use all the features of C++ if you don't need them.



The problem of this phrase, which we all repeat (myself included), is that in reality you would need at least a superficial grasp of all of them, to make an informed decision of which ones you need (or want) to include in your project.

Then the thing grows to a team of 20, and you find yourself applying restrictive rules about which subset of C++ is admissible, because otherwise everyone will consider a different subset for their own code.

"You don't need to use all of the language" is a false claim that doesn't go too far without adding extra friction to the project management.


Yep, that's fair. I wouldn't call it "false claim", because I don't it's actually incorrect, you can be perfectly effective and go quite far with just a small selective subset of the language ("A tour of C++, 2nd edition" gives a good overview of this subset IMHO[0]), but the claim is ignoring the mental overhead and decision paralysis induced by C++ complexity.

[0]: https://www.stroustrup.com/tour2.html


I agree, it's not a false claim. You definitely put it in better words.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: