First, thank you for calling it programming, not coding!Second, I agree with Alan Mellor that there isn’t a single book, but a few books come to mind as having deepened my understanding. None are introductory:The original Gang of Four Design Patterns, or Allan Shalloway’s Design Patterns Explained; part of the value is in design patterns themselves, but a larger value is the repeated models of code modularity and the expressive/adaptive power of polymorphismKernighan and Ritchie’s The C Programming Language, which doesn’t offer much insight into modern C, but offers a lot of depth in how C was designed to solve problems, because it’s steeped in pure C idiomJoshua Bloch’s Effective Java, which is the single best exploration of idiom in a modern language (at least, that I’ve seen)
First, thank you for calling it programming, not coding!Second, I agree with Alan Mellor that there isn’t a single book, but a few books come to mind as having deepened my understanding. None are introductory:The original Gang of Four Design Patterns, or Allan Shalloway’s Design Patterns Explained; part of the value is in design patterns themselves, but a larger value is the repeated models of code modularity and the expressive/adaptive power of polymorphismKernighan and Ritchie’s The C Programming Language, which doesn’t offer much insight into modern C, but offers a lot of depth in how C was designed to solve problems, because it’s steeped in pure C idiomJoshua Bloch’s Effective Java, which is the single best exploration of idiom in a modern language (at least, that I’ve seen)
First, thank you for calling it programming, not coding!
Second, I agree with Alan Mellor that there isn’t a single book, but a few books come to mind as having deepened my understanding. None are introductory:
- The original Gang of Four Design Patterns, or Allan Shalloway’s Design Patterns Explained; part of the value is in design patterns themselves, but a larger value is the repeated models of code modularity and the expressive/adaptive power of polymorphism
- Kernighan and Ritchie’s The C Programming Language, which doesn’t offer much insight into modern C, but offers a lot of depth in how C was designed to solve problems, because it’s steeped in pure C idiom
- Joshua Bloch’s Effective Java, which is the single best exploration of idiom in a modern language (at least, that I’ve seen)