Effective Java
I recently ordered a copy of Joshua Bloch’s seminal Effective Java. It may just be me being a total nerd, but this book makes me feel inspired and want to write good APIs just for the sake of making good stuff. It’s really silly, but it makes me think of programming APIs as a sort of expression of models. In a lot of my work I’ve been thinking of building models as a creative enterprise, and if models are implemented as programs, the book is a guide for effective communication.
If any readers are programmers and haven’t seen this before, you should totally check out Joshua Bloch’s lecture, How To Design a Good API and Why it Matters.