The C3 Programming Language

C’s glow‑up: C3 promises safer code while the comments go feral

TLDR: C3 is a new, C-like language that mixes with existing C code and adds safety checks and contracts to catch bugs early. The community is split between excitement over safer systems code, AI-assisted lower-level programming, and “we already have Rust/Nim” skepticism, with livestreams and past debates fueling the hype.

C3 just slid into the C family chat and immediately caused a scene. It’s a new language that keeps C’s familiar look but adds safety and sanity, like contracts (rules your code must follow) and extra checks in debug mode to catch bugs early. It also plays nice with old C code thanks to ABI compatibility—basically, it speaks C at the machine level—so you can mix C and C3 in one project. There’s even a demo where parts of the game engine vkQuake got compiled with C3 using the c3c compiler.

The crowd went loud. Fans flexed receipts: “Tsoding did over 30 hours of C3 livestreams,” linked by xprnio with a whole playlist. Design snobs swooned—antfarm declared, “this is what a language website should look like.” Meanwhile, the performance-obsessed dropped a hot take: theflyinghorse asked why AI assistants (large language models, or LLMs) should spit out Python when they could churn out Rust or C3 with fewer memory headaches. Nim fans rolled in like a rival fandom: netbioserror praised Nim’s default “value semantics,” translation: fewer foot‑guns with data on the heap.

Drama-wise, it’s “C with seatbelts” versus “we already have Rust/Nim,” plus a nostalgia cloud from past HN threads. Whether you’re here for safer C or just the comment fireworks, C3 has the internet compiling opinions in real time.

Key Points

  • C3 builds on C syntax and semantics to evolve the language while retaining familiarity.
  • C3 offers full ABI compatibility with C, allowing mixed C and C3 codebases.
  • A vkQuake fork demonstrates C3 interop, with a portion compiled using the c3c compiler.
  • C3 integrates programming-by-contract with unobtrusive contracts for runtime and compile-time constraints.
  • In debug mode, the C3 compiler adds extensive runtime bounds and value checks to catch bugs early.

Hottest takes

“Tsoding did a bunch of livestreams using C3. Over 30h” — xprnio
“Why have Claude generate Python when you could write Rust or C3?” — theflyinghorse
“This is what a website for a programming language should look like” — antfarm
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.