Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

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]
[1nickt]: herveus is so weird. Love his reply in that SQLite thread! Much more effective warning system to have diverse monks debunk on technical merits...
[haukex]: IPC::System:: Simple does all the $? handling for you, and does it well
[erix]: weird problem btw (that SQLite question) - I asked astroboy to let us know if he finds the cause
[hippo]: The syntax is warning enough to me.
[1nickt]: hippo lately I can tell just by the fact that Anonymous posts a reply after some hours that it is more than likely That Monk.

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (9)
As of 2017-12-13 11:44 GMT
Find Nodes?
    Voting Booth?
    What programming language do you hate the most?

    Results (360 votes). Check out past polls.