A developer’s book that developers with a preference for object oriented programming will certainly enjoy.
“Turn off your mind, relax, and float downstream,” ~ Tomorrow Never Knows, Beatles
George Harrison of the Beatles once stated what he thought the song Tomorrow Never Knows represented – to establish a quiet reflective mind that has stopped assessing every thought at every moment.
In the less musical world of application programming, developers are facing a number of options that keep them thinking every moment about what programming language to use for developing my app.
Sometimes, when you think too much it’s easier to get back to the basics. One good basic among programming books is The Ruby Programming Language by David Flanagan (@_DavidFlanagan) and Yukihiro Matsumoto (@), nicknamed “Matz” within the developer community.
I picked up the book during my app development course in Washington D.C. I think the book will help budding entrepreneurial developers form an initial idea of how to use Ruby as a great reminder of object oriented programming basics.
Ruby – Who Could Hang A Programming Object or Method On You?
The book has a unique background. Matsumoto is the creator of the Ruby language. He wrote the book under a different name. Flanagan updated the book with notes on version 1.9. One detail: Ruby is now at version 2.1 as of this review’s publication. But I picked this book specifically because of Matz and Flanagan to get enough of the basics to be helpful to newbies to programming. (jruby.org and rubypal.com are given technical review credit – and are good sources to follow for the latest information.) They cover the variation well. In fact, I found the book does a better job in covering Ruby syntax than some blogs on Ruby.
The opening chapter captures basics of the Ruby interpreter and some the kiddie-I-still-need-training-wheels syntax. But later chapters elaborate on specific programming details that will form the functions to run an app. Chapter 6 focuses on methods, with Chapter 7 noting classes – groups of text that are used to invoke variables. But Chapter 8 also elaborates on metaprogramming – programs meant to ease syntax use by simplifying certain actions or functionality that gets repeated within a Ruby program.
Overall, you will view comparisons on how certain operator expressions are typically used. Here are shots I took on my camera to show examples. Each example uses a number of elements, one set arranged in an array and another in a hash, which, loosely speaking, is a type of array with key/value pairs of the elements.
The book also shows how some syntax have similar functions. The image below shows a few different ways to do a string to symbol conversion.
These are small examples, but their inclusion is meant to strike the imagination of a developer as an idea for an app is created.
Kitchen Sink … But The Kitchen Is Still Needed
I use that line to explain how this book’s scope is thorough – which you should expect from the inventor of a program – yet can still leave you with needing more to have everything.
The downside of this book, ironically, is that it is meant for Ruby rather than explaining Ruby on Rails, the framework that allows for interaction among app files. David Hansson created Ruby on Rails. He’s the Co-Founder of 37 signals, the company that produces the project management software Basecamp.
The impact from no Rails discussion is that if you are a beginner, you overlook discussion about model, controller, and viewer – the sets of files that operate between what the app user sees and the backend.
In short, and in true developer fashion, expect to learn more beyond this book. But the downside is not a showstopper for learning from this book. Think of the book as a encyclopedic version of a Ruby ingredient and you can get the best from it over time.
Who Would Benefit Most From This Book
Let this book start you on the path for being a better developer. Yes, you’ll need the “on Rails” to be complete. But this book will have you “relaxing and floating downstream” from your Ruby programming troubles.