Slashdot Mirror


Thinking in Patterns: Download the First Version

RichMeraz writes "Bruce Eckel has posted his first incarnation of Thinking in Patterns with Python on his website. What a wonderful Christmas present." Make sure to check the list of mirrors before downloading. As Eckel says, "This should whet your appetite to read Design Patterns " (or reread it)... classic book, I figure it can't hurt to refresh my memory once a year, and holidays seem like a good time to think in the abstract...

4 of 82 comments (clear)

  1. Re:Design Patterns are abstract? by AtaruMoroboshi · · Score: 5, Funny

    > It's like the difference between Legos and
    > carpentry. Sure, it's a little harder to cut
    > wood to the right length and you nails or
    > screws to put it together, but would you want
    > to live in a house made of legos?

    From this audience, I doubt you are going to get the answer you are looking for.

    .

  2. Re:Design Patterns are abstract? by Anonymous Coward · · Score: 1, Funny
    Have you ever *seen* structures built out of the number of legos you would require to build a structurally solid house?


    We have some here at Legoland in the Mall of America. You'd need a sledgehammer to go through the models of the earth and the moon floating in the air. And judging by some of the quality buildings we have around here I bet some people *would* have preferred their builders would have used legos.

  3. The problem with patterns by systemBuilder · · Score: 2, Funny

    Here is the problem with design patterns. Once upon a time, people would read the AT&T UNIX and BSD Kernels in order to get ideas for how to write programs well. In order to be a good programmer, you would invariably find a better programmer and then read all his stuff. It was in this way that you found cool programming concoctions, such as this :

    #define _CONCAT(X,Y) X/**/Y

    I'll list three more examples to make the point clear. On the Xerox STAR workstation, the BITBLT instruction was used to perform database range queries - e.g. give me all the servers in the network that support file serving.

    As a second example, the MESA signal facility was used during the expansion of mailing distribution lists to detect circular expansions (e.g., raise a "Have_I_Seen_This_One_Before?" signal, go up the stack looking for matches on the signal arg, if there is no match, fall through the signal handler and continue the recursive expansion).

    A fourth example is the way that the "C" switch statement is the ideal construct for parsing command-line arguments in a UNIX shell command.

    Now in the object-oriented world, people do not want to be bothered with the problem of reading others code, or thinking for themselves, so they go for these trendy "design patterns" books where other people do the heavy lifting or simply make up garbage to see if it will sell. This lets the average or below-average programmer off the hook and relieves them of the burden of forming their own opinions and developing their own tastes in programming.

    This is evil in it purest form. It is the an example of the same laziness that has us receiving 95% opinion and 5% in every news story reported today. This laziness have moved outside the news room and is invading software engineering.

    We're all dumber as a result of this trend !!!

    1. Re:The problem with patterns by core10k · · Score: 0, Funny

      Design rules for real-time software layout," Harvey Mudd College, November 1996


      Apparently or friend systemBuilder here is one of those l337 hax0r d00dz who thinks that cycle counting is the end-all and be-all of software design. People like that have no concept of higher level software design; they're too close to the hardware to see that there's a bigger picture to be considered when dealing with large software products/applications/architectures/what have you.