I've been learn programming from around 1997. I remembered back then, my first programming was, creating HTML documents using Notepad. Yep, you read that right. I know HTML is not programming and I know Notepad is BAD for coding. But, hey, I lived literally in the jungle and my only options for learning back then was books.
My learning pace was slow since I need to flip back and forth books. If I forgot a subject, I need to remember what page is it. If I stuck, I need more books. No internet at that time.
Few years after that, I went to college. Around 2004, I learn PHP. At that time, I started learning PHP4 other than the languages that was teaches officially. Read few books. I also learned how to google when issue arises. It is always a hit/miss situations. Sometime I got good result, most of the time, I need to ask into forums, lots of forums. I recalled that I need several searches to get to the result I needed.
Years goes by and I keep google to find an answer. My google fu became better and google's algorithm also upgraded. It became easier to use and results are more relevant to the question. However, sometime, the answer is not what I am looking. Sometime, the answer is old and no longer irrelevant. When the answer landed me to forum, I need to dig through reply after reply and still need to verify most of it.
And then, Stackoverflow.com came!
I remember reading Joel's post when he told the world about it and the post sums up my problem:
And sometimes, the first result looks like it's going to have the answer to their exact question, and they are excited, until they click on the link, and discover that it's a pay site, and the answer is cloaked or hidden or behind a pay-wall, and you have to buy a membership.
And you won't even get an expert answer. You'll get a bunch of responses typed by other programmers like you. Some of the responses will be wrong, some will be right, some may be out of date, and it's hard to imagine that with the cooperative spirit of the internet this is the best thing we programmers have come up with.
I've been using stackoverflow since it's inception. I still use google as my entry point and on result page, I always look for stackoverflow. Usually, it is on the very first result. Because google's search algorithm is way better than stackoverflow. After years of using, I no longer read programming books and I am sad about it. To compensate that, most of my time, I read articles about programming. You know, bite size knowledge ;).