http://www.perlmonks.org?node_id=934074


in reply to What book would be valuable to someone self-taught?

Personally I think far too much is made of paradigms and methodology. The principles of good s/w construction were set out early on by the likes of Steele,Brooks,Parnas, & Knuth, and have not changed.
The books I use most are of course reference books - "Effective Perl", "Perl Cookbook" etc. But the books that have made me think about how to approach software are the ones that have some philosophical as well as practical content:
  • The Mythical Man Month
  • Structure & Interpretation Of Computer Programs
  • Higher Order Perl
  • Javascript - The Good Parts

  • But these days there is so much material on the net you don't need to worry about books so much. Some people worth looking up:
  • Doug Crockford
  • Paul Graham
  • Joel Sprolsky
  • Matthias Felleisen

  • In my opinion the most important things a beginning programmer should know are:
  • There so many ways to get things done. The computer won't care which one you use.
  • Human beings are hopeless at predicting the future so don't try and justify complex solutions in the name of maintainability.
  • There is no empirical evidence that OO leads to better software.

    2 nice quotes which I think sum up just why we shouldn't get too precious about languages, paradigms and (my all time least favourite word) methodologies:
    I am rarely happier than when spending entire day programming my computer to perform automatically a task that it would otherwise take me a good ten seconds to do by hand. Douglas Adams
    
    Plan to throw one away - you will anyway. Fred Brooks