AI UNDERDOGS
Back
0:00 / 1:00
#080

badc

github.com/kromych/badc
compilersAI-assisted devopen sourceC language
164 views💬 0 comments🔗 0 visits

A C compiler built with Claude, 2,197 commits deep. The name says it all: it used to be bad

WHAT IT SOLVES

Building a working C compiler from scratch is brutal. Making it cross-platform with JIT? Most give up. But what if Claude could help you push through every segfault

WHY IT'S INTERESTING

Real craft

2,197 commits — a solo compiler project that kept going

Not counting CI churn — that's a daily grind of real progress. Benchmarks, a JIT pipeline, Python demo output, Darwin and long double compatibility fixes. Not a toy: this compiler actually runs

Product taste

'Former bad C compiler' — when you're this self-deprecating, you mean business

The repo description literally says 'Former bad C compiler.' Not 'blazing fast.' Not 'next-gen.' Just an honest admission that it used to suck. That kind of self-awareness is pure indie-hacker energy — let the commit count do the talking

TECH GUESS

Likely Rust (project structure and commit patterns suggest it), with Claude generating core compiler logic, cross-compiling to multiple target platforms

DEEP DIVE

A Compiler That Laughs at Itself: The "Bad C" Origin Story

In the realm of open-source software, where projects often trumpet themselves as "next-gen" or "blazing fast," badc (https://github.com/kromych/badc) stands out with a disarmingly honest name: "Former bad C compiler." This self-deprecating title, chosen by developer kromych, is a powerful cultural signal. It swaps marketing hype for developer humor and replaces promotional slogans with a staggering 2,197 commits. This is a project that lets its code and its journey speak for itself, immediately setting a tone of authenticity that resonates with fellow builders.

The Core Problem: Leveraging AI to Tackle a "Boulder-Sized" Engineering Challenge

Writing a C compiler from scratch is a monumental systems programming task. Badc aims higher: it's an optimizing, cross-platform C compiler with an integrated JIT pipeline. This means kromych wasn't just dealing with parsing, intermediate representations, and code generation; he was wrestling with disparate target ABIs, system calls, and platform-specific quirks (like long double on Darwin). Traditionally, this is the work of large teams over many years. The central narrative of badc is how a solo developer, using an AI coding assistant (Claude), pushed this "boulder-sized" project to a functional state. It directly addresses the capacity and energy bottleneck individual developers face when building complex system software.

2,197 Commits: The Metric That Doesn't Lie

The commit history is the project's biography. With 2,197 commits, badc shows a sustained, intensive development trajectory. This is no weekend hobby project. Kromych provided concrete proof of its capabilities in the HN thread (which garnered only 2 points and 2 comments): "It can (cross-)build Python 3.14 on 5 targets as well as sqllite3, other libraries, and passes their test suites." Furthermore, he noted its ability to produce native/NT images and Windows drivers (including EFI). These are not trivial benchmarks. A compiler that can cross-compile Python 3.14 to five platforms and pass its test suite has moved firmly beyond the "experimental toy" category into the realm of a serious tool.

Technical Ambition: From JIT to Platform-Specific Nuances

Peeling back the layers reveals significant technical ambition. The project appears to be implemented in Rust (inferred from structure and context), with core components generated with AI assistance. Its standout features include:

  • A JIT compilation pipeline with performance benchmarks run in CI, showing a focus on runtime efficiency, not just compilation speed.
  • Deep cross-platform support, including specific fixes for Darwin's ENOTSUP and the handling of long double characteristics—details that separate a real compiler from a toy.
  • A working demo ecosystem, including Python demo outputs and support for building complex libraries like sqlite3. This demonstrates it's a toolchain, not just an isolated compiler.

Who Should Care? And an Honest Look at the Limitations

Badc is a compelling case study for developers and researchers interested in compiler internals, systems programming, and the practical limits of AI-assisted development. It's an excellent resource for learning how a real compiler evolves. For those curious about what AI coding tools can achieve in complex domains, badc is a stress-tested example.

However, its limitations are equally honest. First, its community traction is visibility are minimal (evidenced by the low HN engagement), meaning it lacks broad peer review and battle-testing. Its stability and edge-case handling are unproven at scale. Second, the long-term maintainability and readability of the AI-assisted codebase are open questions. Will the "AI style" code be easy for others (or the future self) to understand and modify? Finally, as a solo endeavor, its sustainability and ability to keep pace with new standards (like C23) are inherently limited. Badc is a remarkable personal achievement and a fascinating artifact of the AI-assisted development era, but it has a considerable journey ahead before becoming a production-ready choice.

📍 Source: hn📅 2026-06-23Original post →Visit site →
Ad
Ad slot (AdSense unit renders here once connected)

Discussion (0)

Sign in with GitHub to post
  • No comments yet — be the first.

Related