Hacker News new | ask | show | jobs
by quinthar 3475 days ago
In the FAQ it just says "Come on" for SQLite included in the list. Can you provide a bit more detail? This feels like a pretty great option to include here.
4 comments

My theory: everybody knows sqlite can be distributed as a single-file library that you can happily embed. However, it's a pretty complex beast compared to the rest of the list and maybe it's outside the vision of the list altogether, which features much simpler projects.

Edit: to be even clearer, sqlite is 100+ .c files. Yes, you can make it one "amalgamated" .c file, but no developer works on that file; they work on the 100+ smaller .c files.

No developer working on SQLite uses the amalgamated file, but developers using SQLite often do use the amalgamated file.
I guess you mean SQLite developers don't use the amalgamation. It is used by users.

The amalgamation is used for instance in the most popular Golang library to provide SQLite engine.

I was puzzled by that too. I've used the SQLite amalgamation and thought it was a very clever way of avoiding the complexities of libraries. I took inspiration from it in my chess program and amalgamated all my chess primitives into a single file to avoid the pain of a library dependency. It's an inspired idea and deserves better than "come on".
It is a 6MB file produced from several source files.. Does any library count if I concatenate all the source files to a single file?
Well if the rules are:

- Libraries must be usable from C or C++, ideally both

- Libraries should be usable from more than one platform (ideally, all major desktops and/or all major mobile)

- Libraries should compile and work on both 32-bit and 64-bit platforms

- Libraries should use at most two files

Then ya, I think it'd fit. I'm not sure why size matters here: the goal is to have libraries that are easily embedded. Anyway, I was mainly curious for the reason. If size is the reason, then that's that. Thanks!

Sure, why not? It's just another distribution method of a library and it seems to fit the criteria.

Why would it matter if the original developer coded everything in a single, huge file or multiple small ones that get distributed as one? Seems arbitrary.

I believe the "any library" should count if it just builds when concatenated. Many won't though.
They also say shame on you if you're using XML, so I suspect some adolescent. Ain't no shame in using XML kiddo
Extraordinary claims require extraordinary evidence.

On your part, that is.

Clearly, I meant evidence for saying that there's no shame in using XML.