Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re^2: Z-Rated Code and Reinventing the Wheel

by rhesa (Vicar)
on Apr 17, 2006 at 16:43 UTC ( #543874=note: print w/replies, xml ) Need Help??

in reply to Re: Z-Rated Code and Reinventing the Wheel
in thread Z-Rated Code and Reinventing the Wheel

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.

  • Comment on Re^2: Z-Rated Code and Reinventing the Wheel

Replies are listed 'Best First'.
Re^3: Z-Rated Code and Reinventing the Wheel
by apotheon (Deacon) on Apr 19, 2006 at 07:27 UTC

    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://543874]
and John Coltrane plays...

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

    Results (114 votes). Check out past polls.