SQLite internals: How the most-used database works
I love how the SQLite author is so committed to the quality of his tools that he _wrote his own text editor_ as part of the project.In about 99% of cases, for 99% of people, this is the wrong thing to do - but DRH pulled it off.On the "why use flex/yacc ... when you can roll your own", I think the tradeoff is: if you have a deep understanding of theory of parsing and parser generators, then it's actually less mental effort for you to write your own from scratch, than it would be to learn the exact syntax and quirks and possibly bugs of someone else's implementation. Or to find out that some feature that's easy to implement from scratch, doesn't exist in the library.I wonder, do we teach "classical" parsing that well anymore, in a way that could create the next generation's DRH?