Am I missing something about this "do documentation right" as while I've got sqlite working a few different times, generally speaking it wasn't their docs but SO that actually enabled me to do so. As far as I remember it is definitely anti-noob. The very first page in the documentation repeatedly uses KiB instead of Kb for example. The first example is in TCL. The 2nd example is in C.
Not Java, not Python, not Ruby. TCL & C.
Documentation done right for a small percentage of programmers elbow deep in neckbeards maybe. Alienating and weird for the rest of them.
This is a pretty weak argument. Using "KiB" instead of "KB" is precise, not "anti-noob". And I don't think that there's a serious reason for a C library to provide a non-C tutorial on the off chance that you don't know C and have to bind it to a language without libraries--if you're using almost anything modern, you already have a SQLite library and shouldn't need to do the binding yourself.
Even assuming the lack of a library, however, I still find the "but it's all in C!" argument unpersuasive. The idea that C is some deep "neckbeard" stuff is just silly. Part of understanding programming is understanding how your language of choice interacts with the lingua franca that is C, even if you don't know C yourself (which you really should, even if you're working in Ruby or Python or Java on a regular basis). So learn what you need to learn before using SQLite if you have to write your own bindings. That is not a big deal. If it "alienates" you, learn more. It's all out there for you.
Re: Tcl and C -- SQLite originated as a Tcl extension (written in C). Richard Hipp (the principle author) also used to sit on the Tcl Core Team and though doesn't officially fill that position anymore, is active in the Tcl community. Tcl has been (and is) a very important part of SQLite. This is why you'll see examples in Tcl, and the test-suite written in Tcl.
Hipp himself admits SQLite wouldn't have been possible without Tcl.
"As far as I remember it is definitely anti-noob."
If you are a noob, you probably shouldn't be delving directly into the SQLite documentation. You should be reading the documentation that explains the interface for your specific programming language. Python has sufficient documentation for SQLite.
Python has its own built in sqlite wrapper. Just import sqlite3 and then you're 3 lines away from creating the database, opening it and executing queries. Why would sqlite bother about documenting this when python already does it.
Besides, most languages have a predefined and fixed interface for opening databases of any kind and running queries on them. The only thing that differs is the connection string or the constructor of the database/connection/reader-object. For example in python this would be PEP249.
Not Java, not Python, not Ruby. TCL & C.
Documentation done right for a small percentage of programmers elbow deep in neckbeards maybe. Alienating and weird for the rest of them.
Still a fantastic product ofc!