You Want Technology With Warts

If you really want software to last 100 years, I think – as much as possible – you program to standard interfaces, not necessarily to implementations like sqlite. For example:

  • JavaScript is standardized as ECMAScript, and has many implementaions
    • v8, SpiderMonkey, JavaScriptCore, QuickJS, etc.
    • It has a ton of warts, but the warts are standardized
    • wintertc.org/ is a good thing – it is a standard that JS runtimes like node.js and Bun can follow, which is logically layered on top of the EMCAScript standard
  • Unix is standardized as POSIX, and there are multiple POSIX implementations

sqlite has basically zero dependencies, which means that it is likely to be very stable. And the developers have a commitment to stability, and they also base their SQL dialect around Postgres SQL and ANSI SQL I believe.

But it would be nice if sqlite was more like a spec, and not a big pile of C code. There are definitely dark corners, breakages, bugs, etc.

IIRC the JSON support was a bit unstable at first, and there is a new binary JSON which is different than postgres, etc. If you start writing sqlite binary JSON format into other systems, it seems like you wil get some coupling / potential rot

Read more here: Source link