butlersean: After reading I began to think about programming as an algebraic transformation from one system to another, in doing so radically reduced the amount of errors I made. read comments

throwaway124567: Very good. It was MITs old CS textbook, it’s still highly relevant. It takes a while to get through and you probably would get the most value out of it if you already have a lot of programming experience. read comments

apo: Would be an example from software architecture. It catalogs a couple of dozen patterns that recur in projects regardless of their specific domains. read comments

DanHulton: One of the best books on programming style and function, backed up with actual research for the recommendations. read comments

BFatts: A fantastic language-agnostic manual that still applies heavily today. read comments

censhin: I think it's far undervalued. Definitely a must read. The Ruby written could be completely replaced by pseudo code, and it wouldn't change the lessons taught. read comments

protomyth: Thinking Forth is a great suggestion since the approach goes way beyond Forth. read comments

mdm_: It's clear, concise, the railroad diagrams are super helpful, and from what I've seen of Crockford's lectures on YouTube, it also really captures his voice. read comments

hoorayimhelping: I loved this book. It really helped me understand the power and effectiveness of OO design when used correctly. read comments

cfeduke: If you had to pick between SICP and Clean Code because time is at a premium I'd err on the side of Clean Code for practicality. Writing maintainable code is paramount. read comments

tmaly: As others also mentioned this. I think this is becoming more important as people transition to new jobs where they have to take on existing software. Having a process to deal with code that lacks... read comments

potta_coffee: I don't think I'll ship any Lisp code for business purposes but it's been a lot of fun to tinker with and it's conceptually interesting. I think my Python programming ability has grown... read comments

nlawalker: Was the trigger that started my transition from someone basically writing "script spaghetti" in an OO language to someone that could actually decompose a conceptual set of processes into... read comments