Old Guy New Trick

An old guys journey to learn how to code.

To Book or Not to Book

Author: John on February 19, 2014

While the focus, and majority of posts I plan on making, will revolve around the world of Ruby and web devlopement, my journey began with "Programming in Objective-C," by Stephen G. Kochan.  While still persuing iOS and Objective-C knowledge, I also got "iOS Programming The Big Nerd Ranch Guide," by Joe Conway & Aaron Hillegass.  Shortly after I grabbed "Objective-C Programming The Big Nerd Ranch Guide," by Aaron Hillegass.

Wadding through those books I quickly realized that I had a huge lack of knowledge, and though I really wanted to write iPhone apps, I needed to reboot and try a different approach.  I found an online course via iTunes-U which used the next book I purchased - "The Art & Science of Java, An Introduction to Computer Science," by Eric S. Roberts.  This book is used with the online course I subscribed to in iTunes, and by far the most expensive book I have purchased!  While reading that book, and following the course, I realized another gap in knowledge.  A lot of buzzwords were flying at me - OOP, Object Oriented Design, UML, Singleton, Design Patterns, etc.  So I did a little research on Amazon, and grabbed two new books by Head First -"Object-Oriented Analysis & Design," by McLaughlin, Pollice & West and "Design Patterns," by Freeman & Freeman.  The Head First books used Java in their examples and I thought things were coming together. My Rails journey actually started because of "Object-Oriented Analysis & Design" book.

Alrighty, lets now dive into the here and now.  My first Ruby/Rails book, and the one I would first suggest to anyone new to Rails, was "Ruby on Rails Tutorial," by Michael Hartl.  This book won't be the end of your journey, but should give one enough to get a good understanding.  I plan on re-reading this book after I get through some others.  The next book I grabbed was probably way above my level, but I really enjoyed how this person thinks after watching some of her videos - "Practical Object-Oriented Design In Ruby," by Sandi Metz.  Though a bit over my head for a good chunk of the book, I still found it very useful and I think I will understand more of what she wrote as I learn and experience more code.  

The next book I got was "Agile Web Development with Rails 3.2,"by Sam Ruby, Dave Thomas, and David Heinemeier Hansson.  I found this to be very useful for filling in some gaps I had from the Rails Tuts book.  I happened to notice after I bought the book that a newer version would come out later in the year.  So I pre-ordered "Agile Web Development with Rails 4," by the same trio.  I have not ready beyond the first chapter of this book yet.

One thing I was noticing from my reading experience of the two Rails books and the POODR book, I lacked some basic knowledge of the underlying language - Ruby.  So I grabbed "The Ruby Way," by Hal Fulton.  I've finished about half of the book and it cleared some things up for me.  I do use it as a reference from time-to-time and do want to get back into it for the second half.  Note I think this is the oldest of the Ruby/Rails books I have, so it isn't current.  But the majority of what you would read should still be relevant.

It might just be me, but I've found that frequently I need information from multiple sources in order for me to understand certain topics.  So while "The Ruby Way" is very comprehensive, I picked up "The Ruby Programming Language," by David Flanagan & Yukikiro Matsumoto.  This book covered Ruby 1.8 and 1.9 so it was a little more up to date than the previous mentioned book.  Where as those first two book on Ruby will give you the meat of the language, I found this next book to be the sauce - "Eloquent Ruby," by Russ Olsen.

I skipped a book, and in all honesty, I don't remember where in the order of books purchased that this one occurred.  I've only read the first chapter and I like the book, but my mindset isn't ready for it.  I'll probably get virtually whipped for saying that, but I will revisit this book - "The RSpec Book," by David Chelimsky.  For those new to Ruby and don't understand why I would be whipped, I've found that the Ruby/Rails community is heavily into testing - BDD (behaviour driven-development) or TDD (test driven-devlopment).  I know this is an area I need to focus on!

Winding down there are a few more books.  I picked up the next book because I wanted more information on creating command line Ruby applications, so I purchased "Build Awesome Command-Line Applications in Ruby 2," by David Bryant Copeland.  I really am enjoying this book and I'm applying some of the things I've learned to how I code work related stuff in Perl.  

Although not directly related to Ruby or Rails, I picked up "The Little Book on CoffeeScript," by Alex MacCaw.  They were not kidding, it is little!  I can't really say anything good about this book yet as I was disappointed at its size when it arrived.  I tossed it aside to read some other time - maybe on a rainy day.  The other non-directly related book I am enjoying is - "Practical Vim," by Drew Neil.  I've always admirred people who are awesome at the command line and in tools like Vim.  I'm not one of them.  My preferred editor is Sublime Text, but I really want to learn Vim.  This book is good, and Drew produces some cool screencasts - http://vimcasts.org.

Down to my last two physical books as of 2/19/2014 - "Ruby Under a Microscope," by Pat Shaughnessy and "Seven Databases in Seven Weeks," by Eric Redmond and Jim R. Wilson.  "Ruby Under a Microscope" is probably not a good fit for someone new to Ruby, but I'm finding it absolutely enjoyable.  Sure there are things above my head, but I am able to digest most of the information and it actually helps me understand the language better.  I just received the Seven Databases book and haven't had a chance to read it yet.

All of the above are physical books I've purchased in my persuit of learning to code.  I've also purchases a few eBooks which I will list next.  I'm not a huge fan of eBooks related to programming as I find the formatting tends to get screwed up when the authors try to show code blocks.  With that said, on my Kindle I have:  "Confident Ruby," by Avdi Grimm, "Professional JavaScript for Web Developers," by Nicholas C. Zakas, and "CoffeeScript Programming with jQuery, Rails and Node.js," by Michael Erasmus.

There are two other books, and I wasn't going to inlude them, but just in case you want books on CakePHP or PHP Zend Framework, I strongly urge you TO STAY AWAY from: "Easy PHP Websites with The Zend Framework," by W. Jason Gilmore, and "CakePHP 1.3 Application Development Cookbook," by Mario Iglesias.  These two books are horrible!



When I first skechted out the list of books in my arsenal, it didn't look to be to long.  But as we can see from the above, when I wrapped words around the book names, this post got pretty long.  So I apologize for that.  I will make a great effort going forward to keep my posts shorter.  If needed, break up a long topic into multiple posts.

Learn Something New Everyday

Last Edited by: John on December 29, 2015