January 6, 2026
C you in court, Rust fans
C Is Best
SQLite’s creator says C reigns; Reddit and Hacker News erupt with cheers, boos, and Zig jokes
TLDR: SQLite says it’s sticking with C for speed, compatibility, and stability. Comments split between cheers, “least bad” pushback, and a Zig-as-middle-ground pitch—turning a routine tech post into a culture clash that matters because SQLite quietly powers apps and phones everywhere.
SQLite’s creator just dropped a mic with “C Is Best,” saying the tiny, everywhere-in-your-phone database will stay in plain C—no rewrites planned. He cites speed, works-anywhere compatibility, tiny baggage, and old-and-boring stability as the winning combo. Fans roared: “DRH writing truth!” shouted one, while another deadpanned “C is good.” A nostalgia wave rolled in as commenters admired the infamous btree.c “with all its gotos”—the coding equivalent of a vintage muscle car.
But the thread didn’t stay cozy. A contrarian snapped “WRONG!” and called C merely the “LESS WORSE” choice, griping that the language keeps getting more complicated. Others tossed in a curveball: Zig—“the only language that would make sense” for a gradual move, thanks to its C-friendly vibe. The post even poked the object‑oriented hornet’s nest, arguing you don’t need C++ or Java to build “objects,” sparking the classic procedural vs. OOP (object-oriented programming) cage match. Best twist? The article itself added new sections mid‑brawl to answer Hacker News and Reddit—basically a live patch for the flame war. Meme count: “portable assembly” T‑shirts, Rust vs. C rematches, and Zig cameo jokes. Verdict: C isn’t just code—it’s a culture clash with every phone and app in the splash zone.
Key Points
- •SQLite has been implemented in generic C since 2000-05-29, with no plans to rewrite it in another language.
- •The article cites performance, compatibility, low dependency footprint, and stability as reasons C is best for SQLite.
- •It argues C libraries are broadly callable across languages and platforms, unlike C++/Java libraries.
- •The minimal SQLite build relies on a few standard C library routines; fuller builds add functions like malloc() and free().
- •Object-oriented design is possible in C, and early Java/C++ stability issues influenced SQLite’s initial choice of C.