The Source for Java Technology Collaboration
User: Password:



Malcolm Davis's Blog

The Humble Programmer

Posted by malcolmdavis on July 26, 2004 at 02:10 PM | Comments (3)

I've looked for the Humble Programmer sometime ago, and all I could find was a used copy on Amazon. You can now download a PDF copy from http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD340.PDF

Over the last 30 years, many of the themes Dikjkstra talked about have been re-communicated over and over again. For instance, "The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.."

In Writing Solid Code, Steve Maguire says "Write code for the 'average' programmer".


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • Spot on
    I think that the curse of being in this business as long as we have is that you see all of the ideas rehashed, and sometimes done worse with significant loss of functionality.

    I think part of it is our inherent geek lust for all things new and our distrust of old things. Each new language looks like the logical step in the evolutionary cycle, so we abandon the old and call those that can't or won't make the jump luddites.

    If it helps the same thing happens in other professions, like Architecture and Medicine.

    Posted by: jherr on July 26, 2004 at 11:18 PM

  • Thanks for posting the link!
    Dijkstra's comments from the 70's could have been made today:

    “Perhaps the most saddening thing now is that, even after all those years of frustrating experience, still so many people believe that some law of nature tells us that machines have to be that way. They silence their doubts by observing how many of these machines have been sold, and derive from that observation the false sense of security that, after all, the design cannot have been that bad.”

    Posted by: johnreynolds on July 27, 2004 at 12:06 AM

  • Meanwhile, back in the slashdot cave
    Over on Slashdot they recently had a 'discussion' about debugging tools. I particularly liked one quote I saw attributed to Kernighan (I think):

    Since debugging code is twice as hard as writing code, if you write your code in as clever a fashion as possible, you are, by definition, not smart enough to debug it.

    Ouch.

    There are two great opposing forces in Programming. They are complexity and simplicity. Much like in a bad science fiction movie, this is a black and white question. Complexity, and all those in favour of it, are the bad guys.

    Also, like in the bad sci fi movie, it is relatively easy to tell the bad guys and bad tools apart. Anybody with the word 'architect' in their job title is a bad guy. Bad guy tools are ones in which they start with the premise "since Java is 'hard' we are going to invent our own language so you don't have to learn Java".

    Bad guy projects *start out* liberally scattered with words like 'pattern', 'adapter', 'singleton', 'handler' and 'factory'. Be particularly wary of 'adapter adapters' or 'handler handlers', and run, do not walk, away from anything containing a 'singleton adapter handler factory pattern'.
    (Good guy projects might *end up* with the same buzzword factor, but that is because they retroactively buzzwordify the documentation based on what actually worked)

    Posted by: rickcarson on July 28, 2004 at 09:27 AM





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds