> The SQLite library is designed to be very easy to use from a Tcl or Tcl/Tk script. SQLite began as a Tcl extension and the primary test suite for SQLite is written in TCL. SQLite can be used with any programming language, but its connections to TCL run deep.
Given both of these, it kind of feels like something about the Tcl philosophy leads people to build (or draws in the sort of person who builds) simple/elegant data storage layers. Makes me more curious about it.
Ousterhout's book on Tcl has a chapter one that is essentially "How to do small reusable things in unix and win" - it's absolutely brilliant and explains how to think in unix and why composable entities with simple interfaces have done so well. SQLite and TCL are the best of unix philosophy made concrete. I just read in this thread that he expanded it to an entire book - I'll be reading that as soon as I finish binging The Family Man on Prime Video. Extending TCL with a new C command is exactly as hard as a CS 101 C program (which at the time was the lower limit on easy for CS folk).
From https://www.sqlite.org/tclsqlite.html:
> The SQLite library is designed to be very easy to use from a Tcl or Tcl/Tk script. SQLite began as a Tcl extension and the primary test suite for SQLite is written in TCL. SQLite can be used with any programming language, but its connections to TCL run deep.
Given both of these, it kind of feels like something about the Tcl philosophy leads people to build (or draws in the sort of person who builds) simple/elegant data storage layers. Makes me more curious about it.