Crafting interpreters

by Robert Nystrom

Very good book about interpreters and programming languages. Readers end up building one interpreter with Java, and a faster one using C. The C part is rich and explores different interesting topics like Garbage collectors, dynamic arrays, hash tables and much more.

📚 Chapter 19 of 3063% complete
StartNow
Finished writing my own JSON parser from scratch in Rust. A joy to re-use the knowledge acquired from this book. I still haven't finished it yet, but soon hopefully!
Follow up to the last thought; I'm wondering if a blog post about strings implementation in different languages would be an interesting one.
Ah well, looks like in the world of C, each project has their own implementation of strings. Just found out about <https://github.com/antirez/sds>, the one used by Redis! Very interesting stuff.
The strings chapter was not bad. I was hoping he would discuss the pros/cons of strings in C, how modern languages tried representing strings differently and why. But this discussion was missing unfortunately.
It's interesting how OOP managed to dominate the enterprise sector for several decades now, even though I think a shift is starting to happen.
Was wondering if there is any language that supports both memory management approaches: A manual one and a Garbage collected one, and this led me to Nim! https://nim-lang.github.io/Nim/mm.html