# C++

351 Hacker News commenters recommended C++ and 531 criticized it, November 2025 to November 2026. It was recommended in 12 of 13 months; owners who said how long report a median of 20 years (36 owners).

**Verdict:** Recommended for low-level control, performance and a huge industry ecosystem, but critics agree it has piled up legacy cruft, confusing feature interactions and memory-safety footguns.

## Why people recommend it

- Low-level control and high performance (6 comments): "I've yet to work with another language - and I've programmed in a shit-ton of languages - that gets out of the way as well as C++ when I want to systems-program" ([source](https://news.ycombinator.com/item?id=48971617)) "Rust's much weaker compile-time metaprogramming features make some optimizations impractical in the language that are easy in C++." ([source](https://news.ycombinator.com/item?id=50221483)) "It allows as many low-level operations as one wishes, but don't forces you to manage memory manually where it isn't necessary." ([source](https://news.ycombinator.com/item?id=48944035))
- Huge ecosystem, tooling and libraries (5 comments): "Why not using C++, for example? It's available almost everywhere, introducing its usage in an existing C codebase is pretty simple." ([source](https://news.ycombinator.com/item?id=49965816)) "The documentation and surrounding ecosystem of conference talks, content creators, and longer texts on new features is excellent." ([source](https://news.ycombinator.com/item?id=46119342)) "I reach for C++, because the language runtimes, compiler tooling, and GPGPU frameworks I care about are partially written in C++" ([source](https://news.ycombinator.com/item?id=48409991))
- Helpful abstractions like destructors, lambdas (3 comments): "I wouldn't want to miss the nice parts that C++ adds, such as lambda functions and the occasional template for generalization." ([source](https://news.ycombinator.com/item?id=47576702)) "Today with all the available language features and library additions you never have to leave the language at all" ([source](https://news.ycombinator.com/item?id=50118148)) "Even just not having to remember to call cleanup code thanks to dtors would alone be enough to sell me on it." ([source](https://news.ycombinator.com/item?id=48409902))
- Keeps improving with modern standards (3 comments): "A subset of the language keeps getting better and better you just need to ignore the demon of many decades of bloated nonsense" ([source](https://news.ycombinator.com/item?id=46443989)) "quite a lot of undefended behavior and things that will shoot yourself in the foot have been changed over the last 10 years" ([source](https://news.ycombinator.com/item?id=48205688)) "Today with all the available language features and library additions you never have to leave the language at all" ([source](https://news.ycombinator.com/item?id=50118148))

## What people warn about

- Features interact in confusing ways (6 comments): "The significant downside of C++ metaprogramming is that sometimes many features interact weakly and feel very much tacked on top of each other" ([source](https://news.ycombinator.com/item?id=48521723)) "I think this "multi-paradigm" approach works pretty well, but of course its complicated, and lots of people mess it up." ([source](https://news.ycombinator.com/item?id=46490092)) "then C++ loses by a mile - there's too many ways that the different features from #1 above can interact with each other" ([source](https://news.ycombinator.com/item?id=50066585))
- Decades of legacy cruft accumulate (5 comments): "A subset of the language keeps getting better and better you just need to ignore the demon of many decades of bloated nonsense" ([source](https://news.ycombinator.com/item?id=46443989)) "footguns keep accumulating... it wouldn't hurt to have a mechanism to optionally drop the old cruft from the language" ([source](https://news.ycombinator.com/item?id=46575932)) "C++ occupied a niche in the right place and at the right time, and it grew from there. Many mistakes have been made" ([source](https://news.ycombinator.com/item?id=48409161))
- Memory-safety footguns and undefined behavior (6 comments): "the main problem is that the syntax still allows C style pointers and de referencing for compatibility with C code" ([source](https://news.ycombinator.com/item?id=46048144)) "C and C++ offer performance and control, but they introduce additional complexity around manual memory management" ([source](https://news.ycombinator.com/item?id=47069132)) "the only things considered "safe" by the crowd are strict descendants of C/C++ with the array/pointer/string screw-ups that made those languages unsafe removed" ([source](https://news.ycombinator.com/item?id=46742720))
- Steep learning curve and boilerplate (2 comments): "C++ comes with baggage and requires up-front training. You need to dive into every language feature and STL library" ([source](https://news.ycombinator.com/item?id=47810762)) "It required learning, or at least memorizing, a significant amount of boilerplate before a freshman could even start to consider writing their logic." ([source](https://news.ycombinator.com/item?id=46902067))

## Alternatives hackers recommend

- [Rust](https://hackerapproved.com/p/rust.md): 2039 recommend
- [Go](https://hackerapproved.com/p/go-programming-language.md): 1254 recommend
- [Python](https://hackerapproved.com/p/python.md): 1067 recommend
- [Zig](https://hackerapproved.com/p/zig.md): 743 recommend
- [TypeScript](https://hackerapproved.com/p/typescript.md): 574 recommend

## Cite as

Hacker Approved, "C++", https://hackerapproved.com/p/c-plus-plus/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
