Books I Want to Read in 2025
Last year I wrote a post about how I was going to focus on only reading a small number of important books and while this was not perfect, and I did reading some books that were not on the original list (and didn’t read one of those that was), I found it to be a good way to keep me focussed throughout the year and I learned a ton from the four books that I selected so this year I plan to do the same with a different set of books.
Effective C
This is a book I picked up a couple of years ago and got through the first couple of chapters well before something shiny took my attention away from it. I always intended to come back to it and deepen my knowledge of C so this year I am going to make this book the focus of the first few months of the year and really hone and solidify my lower level knowledge. The point being that having a decent level of knowledge of C will be needed for one of the other books in the list.
The Art of Functional Programming
A Christmas present from my wife, this is a book I have been excited to get into for a while. While I have done some functional programming and have built some small projects in Clojure and Elixir and solved some simple coding katas in OCaml, I have not spent the time to really dig deep into FP so I am hoping that this book lives up to its promise and teaches me the fundamentals to a good level which I can then build upon in the coming years.
The Little Schemer
Ok, so I have already read this book but I must admit that the later parts of the book had me tying my brain in knots. It is a simple and fun book to read but is actually quite mentally challenging so this year I hope to re-read this MIT classic and understand it a little better than I did in the first pass.
Crafting Interpreters
I have heard so many good things about this book and it is freely available online. I feel like this book is a must read for me this year due to my interest in compilers and programming languages. How cool would it be to write my own language (and tooling for my editor ;)).
Why Did I Choose These Books?
You may have noticed a bit of a theme in the books I selected this year and they are pushing my knowledge deeper into lower level languages, compilers and Lisp/FP languages. It is no secret that I have strong opinions about many programming languages and there are many things that I would change about each and every language that I have yet experienced. With that in mind, I want to get a deeper understanding of how languages work, how to write interpreters and compilers and obviously at some point implement my own Lisp dialect.