For beginners, Daniel Holden's Build Your Own Lisp[1] is excellent material for learning C. It's a very succinct book.
For intermediate programmers, Build Your Own Redis[2] is a WIP book I am currently writing.
For intermediate programmers, Build Your Own Redis[2] is a WIP book I am currently writing.
So I dug into it a bit, and from the introduction I see it's "mostly C with some C++ features". But if you're going to require C++ features/libraries and a C++ compiler, then it's not C. So why not just say it's C++? I guess another way to ask is: what makes it "mostly C"? Is it a market capture decision? Is there some interesting language tradeoff involved?