> There are huge numbers (millions?) of lousy programmers who program every > single day and never become good programmers.
I think I can attest to that. I was a programmer (in a low level language) in a huge MNC code monkey shop for > 7 years. I consider myself to be Ok - not great, but not very poor either. I had written a lot of code in those 7 years, but due to lack of exposure and laziness, never knew that I have to read books. As I mentioned before, I come in from a non-computing engineering degree, so I did not even know which books to read etc. I had seen many of the frameworks written by others, and was extremely impressed. I considered those people who wrote those frameworks to be geniuses - until I accidently came across one site where I read about GOF. I bought it and read it - and straight away understood that whatever I learned in the last 7 years, I could have learned most of them in 6 months, provided I had read the right books. All the frameworks were just amalgamation of these patterns. Now, I voraciously purchase and read books - both in the domain of my work and on computer science in general. Even though I am not going to be recruited by google any time soon :-), I think I have become a much better programmer over the last one year. I see my code before 1 year and I am horrified :-). Practice makes perfect only if you push yourself - and you need exposure to know that. -- http://mail.python.org/mailman/listinfo/python-list