Ask HN: What are the 3 programming books you learned the most from? Mine
Structure Interpretation of Computer Programs
- enough is said about it here. must-read.
The Algorithm Design Manual - Skiena - a formidable way to learn algorithms and associated concepts. still challenging to read, but war stories offer great prose and I actually laughed several times. if you couple this book with Robert Sedgewick's online Princeton algorithms course you will be quite formidable with algos.
Designing Data Intensive Applications - Klepperman - Mind blowing for me. Finally felt like I could reason about data-driven design by understanding modeling, stores, and distributed, as well as event-driven systems. Absolute must-read especially to fill the gaps if you don't have a CS degree.
These 3 have been above all the rest for me, would love to add another one to this list, please share!
9 comments
[ 5.0 ms ] story [ 14.1 ms ] thread2. Effective Java
3. Building Microservices: Designing Fine-Grained Systems
http://www.charlespetzold.com/books.html
I'd also give a shout out to Micheal Abrash's Graphics Programming Black Book that taught me the adage "the best optimizer is between your ears"
http://www.jagregory.com/abrash-black-book/
Reference I keep close at hand is Ilya Grigorik's High Performance Browser Networking. Web apps with sub second latency can make all the difference
https://hpbn.co/
2. On Lisp - Paul Graham
3. Elements of Computing Systems - Noam Nisan
2. Refactoring: Improving the Design of Existing Code
3. Patterns of Enterprise Application Architecture
1. Design Patterns: Elements of Reusable Object-Oriented Software
2. Clean Code
3. The Pragmatic Programmer
They've helped immensely from working with small functions to the organisation of systems and systems of systems.
I'm reading/have read other books listed by others in this thread so I won't list them, but this book what made me continue programming after I put it down.