Hacker ApprovedDepartments

C++

Ranked 9 of 163 programming languages by recommenders

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.

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.

882 people gave an opinion

recommend it
351
criticize it
531
approval share
40%
Each figure is 10 people. RecommendsCriticizes

Recommended in 12 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: recommended
  7. May 2026: recommended
  8. June 2026: recommended
  9. July 2026: recommended
  10. August 2026: recommended
  11. September 2026: recommended
  12. October 2026: recommended
  13. November 2026: not recommended (month in progress)

Owned for 20 years

Median of the 36 owners who said how long they have had it.

Each square is one year.

Why it doesn’t carry the badge

  • 351 people recommend itNeeds 10 or more, met.
  • 0.6 recommenders for every criticNeeds 2 to 1 or better, not met.
  • Recommended in 12 of 13 monthsNeeds 4 or more, met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Low-level control and high performance

    “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”

    Comment from 19 Jul 2026 in “Neither GCC nor Clang are compliant with standard C++”

    “Rust's much weaker compile-time metaprogramming features make some optimizations impractical in the language that are easy in C++.”

    Comment from 24 Oct 2026 in “How close can pure functional programming get to C?”

    “It allows as many low-level operations as one wishes, but don't forces you to manage memory manually where it isn't necessary.”

    Comment from 17 Jul 2026 in “Solod: Go can be a better C”
  • Huge ecosystem, tooling and libraries

    “Why not using C++, for example? It's available almost everywhere, introducing its usage in an existing C codebase is pretty simple.”

    Comment from 5 Oct 2026 in “Type Safe Generic Data Structures in C (2025)”

    “The documentation and surrounding ecosystem of conference talks, content creators, and longer texts on new features is excellent.”

    Comment from 2 Dec 2025 in “Response to "Ruby Is Not a Serious Programming Language"”

    “I reach for C++, because the language runtimes, compiler tooling, and GPGPU frameworks I care about are partially written in C++”

    Comment from 5 Jun 2026 in “C++: The Documentary Released Today”
  • Helpful abstractions like destructors, lambdas

    “I wouldn't want to miss the nice parts that C++ adds, such as lambda functions and the occasional template for generalization.”

    Comment from 30 Mar 2026 in “C++26 is done ISO C++ standards meeting, Trip Report”

    “Today with all the available language features and library additions you never have to leave the language at all”

    Comment from 16 Oct 2026 in “C++26 Contracts: Introduction to Preconditions and Postconditions”

    “Even just not having to remember to call cleanup code thanks to dtors would alone be enough to sell me on it.”

    Comment from 5 Jun 2026 in “C++: The Documentary Released Today”
  • Keeps improving with modern standards

    “A subset of the language keeps getting better and better you just need to ignore the demon of many decades of bloated nonsense”

    Comment from 31 Dec 2025 in “Why C++ programmers keep growing fast despite competition, safety, and AI”

    “quite a lot of undefended behavior and things that will shoot yourself in the foot have been changed over the last 10 years”

    Comment from 20 May 2026 in “Everything in C is undefined behavior”

    “Today with all the available language features and library additions you never have to leave the language at all”

    Comment from 16 Oct 2026 in “C++26 Contracts: Introduction to Preconditions and Postconditions”

What people warn about

Each mark is one comment

  • Features interact in confusing ways

    “The significant downside of C++ metaprogramming is that sometimes many features interact weakly and feel very much tacked on top of each other”

    Comment from 13 Jun 2026 in “Orthodox C++”

    “I think this "multi-paradigm" approach works pretty well, but of course its complicated, and lots of people mess it up.”

    Comment from 4 Jan 2026 in “Ask HN: What if a language's structure determined memory lifetime?”

    “then C++ loses by a mile - there's too many ways that the different features from #1 above can interact with each other”

    Comment from 13 Oct 2026 in “A Modern Web App in C”
  • Decades of legacy cruft accumulate

    “A subset of the language keeps getting better and better you just need to ignore the demon of many decades of bloated nonsense”

    Comment from 31 Dec 2025 in “Why C++ programmers keep growing fast despite competition, safety, and AI”

    “footguns keep accumulating... it wouldn't hurt to have a mechanism to optionally drop the old cruft from the language”

    Comment from 11 Jan 2026 in “C++ std::move doesn't move anything: A deep dive into Value Categories”

    “C++ occupied a niche in the right place and at the right time, and it grew from there. Many mistakes have been made”

    Comment from 5 Jun 2026 in “C++: The Documentary Released Today”
  • Memory-safety footguns and undefined behavior

    “the main problem is that the syntax still allows C style pointers and de referencing for compatibility with C code”

    Comment from 25 Nov 2025 in “Rethinking C++: Architecture, Concepts, and Responsibility”

    “C and C++ offer performance and control, but they introduce additional complexity around manual memory management”

    Comment from 19 Feb 2026 in “Show HN: LockFS”

    “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”

    Comment from 24 Jan 2026 in “Some C habits I employ for the modern day”
  • Steep learning curve and boilerplate

    “C++ comes with baggage and requires up-front training. You need to dive into every language feature and STL library”

    Comment from 17 Apr 2026 in “30 Years of HPC: many hardware advances, little adoption of new languages”

    “It required learning, or at least memorizing, a significant amount of boilerplate before a freshman could even start to consider writing their logic.”

    Comment from 5 Feb 2026 in “Simply Scheme: Introducing Computer Science (1999)”

Other programming languages people recommend

The four most recommended other programming languages, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

C++ compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
Rust2,03997368%134 yrs118 ownersApproved
Go1,25465166%135.9 yrs63 owners—
Python1,06782157%1218 yrs64 owners—
Zig74344962%121 yr27 owners—
C++This page35153140%1220 yrs36 owners—
See all 163 programming languages, ranked

What people said

40 of the 1,368 comments that mention it, newest first. Each links to the original comment.

“Rust's much weaker compile-time metaprogramming features make some optimizations impractical in the language that are easy in C++.”

RecommendsComment from 24 Oct 2026 in “How close can pure functional programming get to C?”

“Today with all the available language features and library additions you never have to leave the language at all”

RecommendsComment from 16 Oct 2026 in “C++26 Contracts: Introduction to Preconditions and Postconditions”

“then C++ loses by a mile - there's too many ways that the different features from #1 above can interact with each other”

MixedComment from 13 Oct 2026 in “A Modern Web App in C”

“C++ is the best language to write multi-architecture SIMD without relying on compiler magics like autovectorization”

RecommendsComment from 5 Oct 2026 in “Type Safe Generic Data Structures in C (2025)”

“Why not using C++, for example? It's available almost everywhere, introducing its usage in an existing C codebase is pretty simple.”

RecommendsComment from 5 Oct 2026 in “Type Safe Generic Data Structures in C (2025)”

“C++ is the tool that Google already had, so sensible engineering is at least partially investing in incrementally improvement”

MixedComment from 2 Sep 2026 in “Fine, I'll build my own text editor”

“C++'s problem is that by having so many features to please everyone, the interactions between some of the features are less than obvious”

CriticizesComment from 21 Aug 2026 in “The case against a C alternative (2022)”

“It does sound like a thing where if you'd written this in C++, then you could have done it much easier (which is my experience)”

MixedComment from 14 Aug 2026 in “What Garbage Collection Costs”

“This was a huge success, creating a large resurgence in adoption and setting new expectations for what a systems language should be capable of.”

RecommendsComment from 10 Aug 2026 in “Because It's Not Fun Enough: why languages fail”

“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”

RecommendsComment from 19 Jul 2026 in “Neither GCC nor Clang are compliant with standard C++”

“It allows as many low-level operations as one wishes, but don't forces you to manage memory manually where it isn't necessary.”

RecommendsComment from 17 Jul 2026 in “Solod: Go can be a better C”

“C++ spent years trying to make out that this constitutes useful guidance before gradually accepting that people aren't in fact going to stop making mistakes”

CriticizesComment from 9 Jul 2026 in “My Thoughts on the Bun Rust Rewrite”

“Practically amount of C++ code being in active development (I wat to stress this particular point) dwarfs that of Rust”

RecommendsComment from 15 Jun 2026 in “Memory safety CVEs differ between Rust and C/C++”

“The significant downside of C++ metaprogramming is that sometimes many features interact weakly and feel very much tacked on top of each other”

MixedComment from 13 Jun 2026 in “Orthodox C++”

“I reach for C++, because the language runtimes, compiler tooling, and GPGPU frameworks I care about are partially written in C++”

MixedComment from 5 Jun 2026 in “C++: The Documentary Released Today”

“Even just not having to remember to call cleanup code thanks to dtors would alone be enough to sell me on it.”

RecommendsComment from 5 Jun 2026 in “C++: The Documentary Released Today”

“C++ occupied a niche in the right place and at the right time, and it grew from there. Many mistakes have been made”

MixedComment from 5 Jun 2026 in “C++: The Documentary Released Today”

“If you care about performance, you would not port a software architecture optimized around the limitations of Java to a systems language.”

RecommendsComment from 3 Jun 2026 in “Every Byte Matters”

“C++ doesn't have that (I don't know if they've considered adding it), so they can't do anything about language footguns without compatibility breaks.”

CriticizesComment from 29 May 2026 in “Announcing Rust 1.96”

“quite a lot of undefended behavior and things that will shoot yourself in the foot have been changed over the last 10 years”

MixedComment from 20 May 2026 in “Everything in C is undefined behavior”

“C++ comes with baggage and requires up-front training. You need to dive into every language feature and STL library”

MixedComment from 17 Apr 2026 in “30 Years of HPC: many hardware advances, little adoption of new languages”

“I wouldn't want to miss the nice parts that C++ adds, such as lambda functions and the occasional template for generalization.”

MixedComment from 30 Mar 2026 in “C++26 is done ISO C++ standards meeting, Trip Report”

“because it cant determine call resolution outside of a single source file, EVERYTHING gets vtable'd, which ruins downstream optimizations”

MixedComment from 30 Mar 2026 in “C++26 is done ISO C++ standards meeting, Trip Report”

“It is difficult to overstate just how important these features are for high-performance and high-reliability systems software.”

RecommendsComment from 30 Mar 2026 in “C++26 is done ISO C++ standards meeting, Trip Report”

“Using C++, Go, or Rust gets you around that problem without having to jump through the hoops of code path warmup.”

RecommendsComment from 20 Mar 2026 in “Java Is Fast. Your Code Might Not Be”

“C and C++ offer performance and control, but they introduce additional complexity around manual memory management”

MixedComment from 19 Feb 2026 in “Show HN: LockFS”

“quality issues I saw on the C++ side came partially from the ease in which the language enables incompatible use of different features”

CriticizesComment from 12 Feb 2026 in “D Programming Language”

“It required learning, or at least memorizing, a significant amount of boilerplate before a freshman could even start to consider writing their logic.”

CriticizesComment from 5 Feb 2026 in “Simply Scheme: Introducing Computer Science (1999)”

“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”

CriticizesComment from 24 Jan 2026 in “Some C habits I employ for the modern day”

“footguns keep accumulating... it wouldn't hurt to have a mechanism to optionally drop the old cruft from the language”

MixedComment from 11 Jan 2026 in “C++ std::move doesn't move anything: A deep dive into Value Categories”

“C++ has reasonable dynamic linking (there are ABI breaks, but I only remember only one really bad one with std::basic_string and C++11)”

MixedComment from 6 Jan 2026 in “C Is Best”

“where every half-decade a pile of additive changes get piled on the previous version of the language, and nobody can clean up the old mess”

CriticizesComment from 6 Jan 2026 in “C Is Best”

“I think this "multi-paradigm" approach works pretty well, but of course its complicated, and lots of people mess it up.”

MixedComment from 4 Jan 2026 in “Ask HN: What if a language's structure determined memory lifetime?”

“A subset of the language keeps getting better and better you just need to ignore the demon of many decades of bloated nonsense”

MixedComment from 31 Dec 2025 in “Why C++ programmers keep growing fast despite competition, safety, and AI”

“The documentation and surrounding ecosystem of conference talks, content creators, and longer texts on new features is excellent.”

RecommendsComment from 2 Dec 2025 in “Response to "Ruby Is Not a Serious Programming Language"”

“the main problem is that the syntax still allows C style pointers and de referencing for compatibility with C code”

MixedComment from 25 Nov 2025 in “Rethinking C++: Architecture, Concepts, and Responsibility”

“while in C++ the equivalent code of accessing an uninitialized value without verifying it beforehand would have resulted in entirely unpredictable behavior”

CriticizesComment from 24 Nov 2025 in “Several core problems with Rust”

“C++ has many advantages over C, but it also brings some clear disadvantages that matter more when you want to be aware of every operation.”

MixedComment from 15 Nov 2025 in “How to write generics in C”

“C++ just has a lot of corners you can get sucked into, and the legacy mix of multiple generations of C++ coding styles / OO stuff makes for some really tangled messes out there.”

CriticizesComment from 13 Nov 2025 in “Rust in Android: move fast and fix things”

“the ecosystem in industry standards, IDE tooling, libraries, and training costs in existing industries where C++ is the standard”

RecommendsComment from 5 Nov 2025 in “Why engineers can't be rational about programming languages”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.