Hacker ApprovedDepartments

C3 programming language

Ranked 46 of 163 programming languages by recommenders

People recommend it as a C-compatible evolution with ergonomic improvements, modules, and full C ABI interop. The most common caveat is that critics question its safety features and some syntax and naming choices.

People recommend it as a C-compatible evolution with ergonomic improvements, modules, and full C ABI interop. The most common caveat is that critics question its safety features and some syntax and naming choices.

72 people gave an opinion

recommend it
44
criticize it
28
approval share
61%
Each figure is one person. 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)

Why it doesn’t carry the badge

  • 44 people recommend itNeeds 10 or more, met.
  • 1.5 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

  • Fun to program in

    “I find it more fun to program in compared to plain C, and it's definitely more simple than reaching for C++.”

    Comment from 3 Jan 2026 in “The C3 Programming Language”

    “I stumbled upon the language earlier this year and love it.”

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

    “It's my favorite of the new round of languages by far.”

    Comment from 2 Oct 2026 in “Zig v0.17.0”
  • Ergonomic improvements over C

    “C3 lang gives you defer + a lot of significant ergonomic improvements right now”

    Comment from 12 Oct 2026 in “A Modern Web App in C”

    “The improvement is you just write 'type?' for the return type to enable this and you don't need an out param”

    Comment from 4 Jan 2026 in “The C3 Programming Language”

    “C3 provides a module system for cleaner code organization across files”

    Comment from 3 Jan 2026 in “The C3 Programming Language”
  • Familiar evolution of C

    “C3 feels like home for C developers, there is a real market for language evolutions rather than revolutions”

    Comment from 3 Jan 2026 in “The C3 Programming Language”

    “I think that makes a lot of sense and fits perfectly with their “evolution, not revolution” philosophy.”

    Comment from 3 Jan 2026 in “The C3 Programming Language”

    “I like the idea of strict improvements to C without taking anything away”

    Comment from 3 Jan 2026 in “The C3 Programming Language”
  • Full C ABI compatibility

    “C3 just has everything C compatible so not just calling into C but also C calling to C3 is just completely normal”

    Comment from 30 Jun 2026 in “Zig's New BitCast Semantics and LLVM Back End Improvements”

    “The killer feature for me is the full ABI compatibility.”

    Comment from 3 Jan 2026 in “The C3 Programming Language”

    “the idea of ABI compatibility with C is pretty ingenious”

    Comment from 3 Jan 2026 in “The C3 Programming Language”

What people warn about

Each mark is one comment

  • Confusing syntax and naming choices

    “I think the switch statement design is a foot gun: defaults to fall-through when empty and break when there is a body.”

    Comment from 3 Jan 2026 in “The C3 Programming Language”

    “But the array indices being reversed on declaration? I cannot think of an upside to that at all.”

    Comment from 4 Jan 2026 in “The C3 Programming Language”

    “It doesn't really add anything because 'void main()' already communicates it's a function.”

    Comment from 3 Jan 2026 in “The C3 Programming Language”
  • Safety features may add undefined behaviour

    “sometimes instead of catching a mistake, these checks will instead silently introduce undefined behaviour into your program”

    Comment from 3 Jan 2026 in “The C3 Programming Language”

    “However, just like for const the compiler might not detect whether the annotation is correct or not!”

    Comment from 3 Jan 2026 in “The C3 Programming Language”

    “these can be misinterpreted as a safety feature, while they actually add more possibilities for UB”

    Comment from 4 Jan 2026 in “The C3 Programming Language”
  • Missing tagged union and move support

    “sad to see that there is nothing special for matching or restructuring tagged unions”

    Comment from 3 Jan 2026 in “The C3 Programming Language”

    “leaving out move semantics and destructors is inexcusable at this point”

    Comment from 3 Jan 2026 in “The C3 Programming Language”

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.

C3 programming language 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—
C3 programming languageThis page442861%12——
See all 163 programming languages, ranked

What people said

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

“C3 lang gives you defer + a lot of significant ergonomic improvements right now”

RecommendsComment from 12 Oct 2026 in “A Modern Web App in C”

“It's my favorite of the new round of languages by far.”

MixedComment from 2 Oct 2026 in “Zig v0.17.0”

“C3 is honestly so good and a bit underrated.”

RecommendsComment from 2 Oct 2026 in “Zig v0.17.0”

“The C3 temp allocator leans into this though. It's not a frame allocator but acts like a stack allocator.”

RecommendsComment from 22 Sep 2026 in “What Zig felt like, coming from Rust”

“I stumbled upon the language earlier this year and love it.”

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

“everything about C3 is super exciting”

RecommendsComment from 15 Jul 2026 in “C3 0.8.2 a Modest Improvement”

“it adds a few useful things to libraries and to generic compile time introspection”

MixedComment from 14 Jul 2026 in “C3 0.8.2 a Modest Improvement”

“C3 just has everything C compatible so not just calling into C but also C calling to C3 is just completely normal”

RecommendsComment from 30 Jun 2026 in “Zig's New BitCast Semantics and LLVM Back End Improvements”

“Some people just prefer alternatives, be it C, C3, Odin, Zig, Jai or whatever else there is.”

MixedComment from 7 Jun 2026 in “My Software North Star”

“C3 even named these types differently, so they're certainly under no obligation to provide the wrapping unsigned integers”

RecommendsComment from 3 May 2026 in “Unsigned Sizes: A Five Year Mistake”

“like V (when it came into existence), Zen C (4K stars since 2025) had a sudden burst in stars. Allowing it to nearly catch a long time repo like C3”

MixedComment from 25 Apr 2026 in “GitHub's Fake Star Economy”

“In the case of C3, breaking changes only happen once a year with stdlib going through the general process of deprecating functions long before removing them.”

MixedComment from 13 Mar 2026 in “Zig – Type Resolution Redesign and Language Changes”

“breaking changes only happen once a year with stdlib going through the general process of deprecating functions”

RecommendsComment from 11 Mar 2026 in “Zig – Type Resolution Redesign and Language Changes”

“I really like the decisions made in C3”

RecommendsComment from 4 Jan 2026 in “The C3 Programming Language”

“But the array indices being reversed on declaration? I cannot think of an upside to that at all.”

CriticizesComment from 4 Jan 2026 in “The C3 Programming Language”

“these can be misinterpreted as a safety feature, while they actually add more possibilities for UB”

CriticizesComment from 4 Jan 2026 in “The C3 Programming Language”

“swapping common terminology like that is a blunder from my perspective”

CriticizesComment from 4 Jan 2026 in “The C3 Programming Language”

“The improvement is you just write 'type?' for the return type to enable this and you don't need an out param”

RecommendsComment from 4 Jan 2026 in “The C3 Programming Language”

“I'll take order-independent declarations and fast modules over strictly sticking to C syntax any day.”

RecommendsComment from 4 Jan 2026 in “The C3 Programming Language”

“It fits nicely because it allows better compilers to use the constraints to optimize more confidently”

RecommendsComment from 3 Jan 2026 in “The C3 Programming Language”

“However, just like for const the compiler might not detect whether the annotation is correct or not!”

CriticizesComment from 3 Jan 2026 in “The C3 Programming Language”

“It doesn't really add anything because 'void main()' already communicates it's a function.”

CriticizesComment from 3 Jan 2026 in “The C3 Programming Language”

“I think that makes a lot of sense and fits perfectly with their “evolution, not revolution” philosophy.”

RecommendsComment from 3 Jan 2026 in “The C3 Programming Language”

“C3 feels like home for C developers, there is a real market for language evolutions rather than revolutions”

RecommendsComment from 3 Jan 2026 in “The C3 Programming Language”

“But it's unexpected for a language that bills itself as "The Ergonomic, Safe and Familiar Evolution of C".”

MixedComment from 3 Jan 2026 in “The C3 Programming Language”

“I like the idea of strict improvements to C without taking anything away”

RecommendsComment from 3 Jan 2026 in “The C3 Programming Language”

“choosing a conflicting name for an extremely common abstract data type”

CriticizesComment from 3 Jan 2026 in “The C3 Programming Language”

“I find it more fun to program in compared to plain C, and it's definitely more simple than reaching for C++.”

RecommendsComment from 3 Jan 2026 in “The C3 Programming Language”

“leaving out move semantics and destructors is inexcusable at this point”

MixedComment from 3 Jan 2026 in “The C3 Programming Language”

“sad to see that there is nothing special for matching or restructuring tagged unions”

MixedComment from 3 Jan 2026 in “The C3 Programming Language”

“designed around supporting separate compilation and dynamic linking”

RecommendsComment from 3 Jan 2026 in “The C3 Programming Language”

“Specifying those assumptions in the code, instead of in flags to the compiler, seems like a win.”

RecommendsComment from 3 Jan 2026 in “The C3 Programming Language”

“sometimes instead of catching a mistake, these checks will instead silently introduce undefined behaviour into your program”

MixedComment from 3 Jan 2026 in “The C3 Programming Language”

“the first thing I noticed in their example is a double-colon scope operator”

MixedComment from 3 Jan 2026 in “The C3 Programming Language”

“it adds a few very desirable things, such as introspection and macros”

MixedComment from 3 Jan 2026 in “The C3 Programming Language”

“C3 provides a module system for cleaner code organization across files”

RecommendsComment from 3 Jan 2026 in “The C3 Programming Language”

“the idea of ABI compatibility with C is pretty ingenious”

RecommendsComment from 3 Jan 2026 in “The C3 Programming Language”

“I think the switch statement design is a foot gun: defaults to fall-through when empty and break when there is a body.”

CriticizesComment from 3 Jan 2026 in “The C3 Programming Language”

“The killer feature for me is the full ABI compatibility.”

RecommendsComment from 3 Jan 2026 in “The C3 Programming Language”

“This is what a website for a programming language should look like.”

RecommendsComment from 3 Jan 2026 in “The C3 Programming Language”

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