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.