Cocoa programming books are indispensable to Mac and iOS programmer, but other programming books are just as important. Let's look at some of our favorite books on programming basics and object-oriented programming and design.
Refactoring: Improving the Design of Existing Code by Kent Beck, John Brant, William Opdyke and Don Reberts (Addison-Wesley).
Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides (Addison-Wesley).
Refactoring to Patterns by Joshua Kerievsky (Addison-Wesley).
Prefactoring by Ken Pugh (O'Reilley).
Test-Driven Development by Example by Kent Beck (Addison-Wesley).
Growing Object-Oriented Software, Guided by Tests by Steve Freeman and Nat Pryce (Addison-Wesley).
The Art of Unit Testing with Examples in .NET by Roy Osherove (Manning Publications). Although the examples are in C#, the principles are still relevant to Cocoa programmers too.
Designing Interfaces by Jenifer Tidwell (O'Reilley).
Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin (Prentice-Hall).
The Pragmatic Programmer by Andrew Hunt and David Thomas (Addison-Wesley).
SQLite by Chris Newman (Sams).
Algorithms by Robert Sedgewick (Addison-Wesley).
Programming Pearls by John Bently and Patrick Chan (Addison-Wesley).
97 Things Every Programmer Should Know by Kevlin Henney (O'Reilley).
Mastering Regular Expressions by Jeffrey saul E.F. Frield (O'Reilley).
Numerical Recipes: the Art of Scientific Computing in C by William Press, Saul Teukolsky, William Vetterling and Brian Flannery (Cambridge University Press).