Kids, nothing is a bigger damned lie than the idea that you have to work really hard to gain knowledge.
Well that depends on how you define hard work.
There is no reason why you can't learn by reading over someone elses work. You don't have to do every single bit yourself.
Depends on how you learn. I've always found that I can read many books on a topic, read over source code, but then when I go to apply it I realize I don't really understand it.
Please dump this very puritan attitude towards work. The road to success is not long and hard. It's long and filled with fascinating and beautiful experiences
Who said programmer A didn't enjoy programming? Who said he didn't want to take his work home?
Update: I should also clarify, with regards to the "The As will have learned more than the Bs." comment, I'm assuming everything else is equal. Obviously if programmer B reads 6 books and writes 10000 lines of unrelated code, he'll probably have learned more.