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
    • Comment on Re: What book would be valuable to someone self-taught?
  • Replies are listed 'Best First'.
    Re^2: What book would be valuable to someone self-taught?
    by Marshall (Canon) on Nov 04, 2011 at 02:58 UTC
      There is no empirical evidence that OO leads to better software.

      That does appear to be true. I don't know of any convincing argument to the contrary.

        There is no empirical evidence that OO leads to better software.
        That does appear to be true. I don't know of any convincing argument to the contrary.

        Maybe OOD leads to better software, because, it actually requires thinking about design :)

          That is just completely silly.

          Good software "works".
          The users like it.
          They understand how to use it in an intuitive sense.

          People think in terms of functions, what they do..actions..

          The OO idea is counter intuitive and takes some getting used to.

          I "get it", but it is an unnatural forced relationship.