Writing a SQLite Clone from Scratch in C (2022)
In software, as in most things, most of learning is done by doing. Creating a clone of something from scratch is a really useful learning technique and has the benefit of a defined specification.It doesn't even really matter if the job is even completed  or if the program is ever used. The important part is the doing, not the result.I confess we did similar things at uni 30 years ago, although we mostly re-implemented arcade games, not sql databases. Databases are likely more useful to understand.All programmers have to go through 3 stages;A) I program to prove to myself I canB) I program to prove to others I canC) I know I can write this, you know I can write this, but its cheaper and easier to use this existing, available, code to do the job.I like c) programmers in business because they understand that the goal of the business is making money  not generating code. A guy who -could- write SQLite, but then understands why -using- SQLite would be better, is enormously valuable.(Not to mention his SQL chops are probably pretty good by then)