If you want to pass, cheat. If you want to learn, research
On Monday of this week, I began an experiment. I stopped looking up Ruby and Rails information in my PDF of the second edition of Programming Ruby
and in the excellent on-line documentation for Rails
. Every time my fingers twitched to do a search, I reached for an actual dead-tree book instead. Not one of those quick references designed for looking things up, but a book where the author actually teaches the material.
I have been looking things up using the stone-age technology of a good index. And then I’ve been reading actual explanations, not just copying code snippets off the ‘net and pasting them into my programs.
…It’s Friday afternoon and neither you nor I want to slog through a heavy essay, so let’s just flip right through the pages of metaphors and anecdotal examples from my own experience. Imagine for a moment that there were a number of really insightful remarks, a few good quotes from other bloggers or authors, and a couple of great code samples. Since we’re in a hurry, let’s jump right to the end:
So in conclusion, if you just want to get something done quickly without gaining a fuller, deeper understanding, by all means use a cheat sheet
. But if you want to actually learn more about what you’re using, the next time you need to look something up, don’t go to the cheat sheet, Don’t Google it. Look it up in an actual book like The Ruby Way
or its equally informative companion The Rails Way
. It may take a moment longer, and you can’t copy and paste. But a good book contains far more than an explanation of what
to do. It shows how
it works, when
to do that, and why
it works that way.
A good book is going to answer a question you didn’t know needed to be asked. It’s tough for a busy programmer to find time to read books from cover to cover and learn the material. But every time you need to look something up, you have a golden opportunity to research the material instead of cheating the answer. Use those opportunities to learn: That knowledge is going to make you a better programmer.