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.

Hottest takes

"DRH writing truth! People love to jump to Rust or C++." — alexpadula
"Plain and simple C is, by far, one of the current _LESS WORSE_ performant alternatives" — sylware
"The only language that would make sense for a partial/progressive migration is zig" — hbbio
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.