Use Your Loaf

[[brain engage] write]

This page contains some personal book recommendations covering Cocoa and iOS Development, Ruby on Rails and general software development. I tend to only recommend books that I actually own and use myself which is not to say that books not listed here are not good – time and budget prevent me from reading them all.

Cocoa and iOS Development

It is difficult to recommend the introductory texts that I used when getting started with iOS and Objective-C development as they are now very dated. If you are just getting started I would say take a look at anything by the Big Nerd Ranch or The Pragmatic Programmers.

Effective Objective-C 2.0

Author: Matt Galloway
Published: May 20, 2013
Website: Effective Objective-C 2.0

A great reference book for when you really want to master Objective-C. The book is organised into 52 separate articles organised loosely around seven topics (Accustoming Yourself to Objective-C, Objects, Messaging, and the Runtime, Interface and API Design, Protocols and Categories, Memory Management, Blocks and Grand Central Dispatch, System Frameworks). Read my full review

Programming iOS 6, 3rd Edition

Author: Matt Neuburg
Published: February 2013, O’Reilly
Website: oreilly.com

At over 1,000 pages this is a massive book that attempts to really explain the fundamentals of iOS programming and cocoa Touch. If you have worked through some of the getting started iOS books and still find you are struggling this could be the book for you. It was recently updated for iOS 6 but see also my full review of the iOS 5 edition.

Core Data (Second Edition)

Author: Marcus Zarra
Published: 12 Feb 2013, Pragmatic Bookshelf
Website: pragprog.com

This was the first book I bought when I wanted to learn core data but I have been waiting for Marcus Zarra to update it before recommending it. The second edition is a fairly substantial update with the focus now more firmly on iOS (though OS X is still covered). This book remains a favourite and is recommended if you are looking to understand core data. Read my full review.

Cocoa Design Patterns

Authors: Erik M. Buck, Donald A. Yacktman
Published: 1 Sep 2009, Addison Wesley Professional
Website: cocoadesignpatterns.com

This book is highly recommended to both iOS and OS X developers who want to understand common Cocoa design patterns. It has a detailed discussion of the Model View Controller design pattern as well as many other fundamental Cocoa patterns and best practises. Once you have grasped the basics of Cocoa and Objective-C this is the book to read to understand why Cocoa works the way it does. You can also read my full review of this book.

Ruby on Rails

I tend to post mostly about iOS development on this blog but my first real exposure to an MVC based framework was with Ruby on Rails (RoR). The Mac and OS X provide a great development environment for Rails and many of the design patterns that RoR teaches apply to iOS and Cocoa development.

Agile Web Development with Rails (4th edition)

Authors: Sam Ruby, Dave Thomas, David Heinemeier Hansson
Published: 31 March 2011, The Pragmatic Programmers
Revised: 27 february 2013
Website: pragprog.com

I have several editions of this book but it remains the definitive text for anybody looking to get started with Rails development. The core of the book is a step by step guide to building a web based shopping cart application. It has recently been updated to cover both Rails 3 and 4 as well as Ruby 1.9 and 2.0 and I think the decision to drop the reference material which can easily be found on the web improves the book a lot. At the time of writing this only the ebook versions have been updated to cover Rails 4.0 so it may be best to get the latest version direct from the Pragmatic Programmers site.

Programming Ruby 1.9 & 2.0 (4th edition)

Authors: Dave Thomas with Andy Hunt and Chad Fowler
Published: 2013-02-21, The Pragmatic Programmers
Website: pragprog.com

Otherwise known as The PickAxe book this is the standard reference book for the ruby language. It is currently undergoing updates to cover both Ruby 1.9 and Ruby 2.0. As with all Pragmatic Programmers books it is available in a number of formats including epub and pdf. The latest version is stil in beta so I would recommend to buy direct from The Pragmatic Programmers site.

The Ruby Way (Second Edition)

Author: Hal Fulton
Published: 25 Oct 2006, Addison-Wesley Professional
Website: rubyhacker.com

The PickAxe book is a great reference for the Ruby language but to write good Ruby code you should also read this book. It has not been updated for five years but I would still recommend it if you are coming to Ruby from another language and you want to learn the Ruby way of doing things.

Design Patterns in Ruby

Author: Russ Olsen
Published: 10 December 2007, Addison-Wesley Professional
Website: designpatternsinruby.com

I seem to have a weak spot for pattern books, several of which have made this list. This book looks at how 14 of the classic software design patterns can be implemented in Ruby. It makes an interesting comparison with the Cocoa Design Patterns book. See my full review for more details.

Version Control

Pro Git

Author: Scott Chacon
Published: 27 August 2009, Apress
Website: Git – Book

It seems almost unnecessary to mention this book since there is a good chance if you are using Git you already have it. What I like about this book is the way it not only covers the Git basics but also provides examples of real-world workflows. The sections on branching, merging and rebasing are essential reading. Also did I mention you can download it for free in pdf, mobi and ePub formats?