It's still a useful generic exercise for beginners.
Although I recommend starting with a simpler syntax like sexpr, you can get more practice with less code.
For a deeper exercise, I recommend compiling to machine code instead of stopping at bytecode [1]; you can learn assembly along the way, which is more satisfying than compiling to C.
Interesting! I wonder how big their read base is. Other commenters mentioned sales numbers around 2000, you must have made a far larger sale to compensate for the lower loyalty.
While writing a book is not particularly profitable, the author could probably earn more by self-publishing rather than working with a publisher, since the author has done most of the marketing anyway.
Are join algorithms like this really the alternative to compound indexes? I understand that they reduce the memory required for joins, but the amount of data involved in a join is the same.