Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re: Z-Rated Code and Reinventing the Wheel

by hsmyers (Canon)
on Apr 17, 2006 at 16:19 UTC ( #543866=note: print w/replies, xml ) Need Help??

in reply to Z-Rated Code and Reinventing the Wheel

You reinvent wheels when they are:
  1. Out of balance
  2. Not round
  3. Flat
Being published or in use does not protect a 'wheel' from any of the common failings above! To paraphrase R. Crumb, Keep on wheeling!


"Never try to teach a pig to wastes your time and it annoys the pig."
  • Comment on Re: Z-Rated Code and Reinventing the Wheel

Replies are listed 'Best First'.
Re^2: Z-Rated Code and Reinventing the Wheel
by rhesa (Vicar) on Apr 17, 2006 at 16:43 UTC
    You reinvent wheels when they are:
    1. Out of balance
    2. Not round
    3. Flat
    That's funny, but it's wrong:

    • If your wheel is out of balance, you realign it
    • If it's not round, you tweak the spokes until it is
    • If it's flat, you fix the puncture and re-inflate
    Alternatively, you swap in a new wheel of the same make and model. So in those cases, you either patch or upgrade.

    You reinvent wheels if your current wheel:

    • melts on hot tracks
    • has no traction in the rain
    • takes 30 minutes to change

    Remember, Ovid is talking about race cars. The existing wheels were fine as wheels go, but they didn't bring him to the finish quickly enough, or didn't fit on his car.

      I agree. I also agree with the person to whom you replied.

      The problem with a metaphorical statement of principle like "don't reinvent the wheel" is that it then allows infintely variable refinements to produce analogies to demonstrate related principles. For purposes of demonstrating that one should violate the rule about reinventing wheels when the previous wheel is not sufficiently functional, the previous comment was apt and effective. For purposes of demonstrating realities made more obvious and prevalent with the increasing awareness of open source software development methodologies, your comment is more apt and effective.

      The benefit of metaphorical statements of principles like "don't reinvent the wheel" is two-fold: both that it gets the point across quickly, clearly, and profoundly, and that it does everything I just described as a problem above. Sometimes it's a problem, and sometimes it's a benefit, but usually it's both.

      print substr("Just another Perl hacker", 0, -2);
      - apotheon
      CopyWrite Chad Perrin

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://543866]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (5)
As of 2018-06-23 06:40 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (125 votes). Check out past polls.