upvote
C libraries have advertised "header-only" for a long time, it's because there is no package manager/dependency management so you're literally copying all your dependencies into your project.

This is also why everyone implements their own (buggy) linked-list implementations, etc.

And header-only is more efficient to include and build with than header+source.

reply
I never copied my dependencies into my C project, nor does it usually take more than a couple of seconds to add one.
reply
There's a number of extremely shitty vendor toolchain/IDE combos out there that make adding and managing dependencies unnecessarily painful. Things like only allowing one project to be open at a time, or compiler flags needing to be manually copied to each target.

Now that I'm thinking about it, CMake also isn't particularly good at this the way most people use it.

reply
deleted
reply
Exactly; I can't understand this obsession with header-only C "libraries".
reply
Writing new C code in 2026 is already an artisanal statement, so why not got all the way in making it?
reply