in reply to Re: Keeping sharp and fresh
in thread Keeping sharp and fresh

Good answer!  I completely agree that a lot can be said for "reinventing the wheel"!

In addition to "learning how to make one" and "learning some new tools":

  1. Often, you need a special wheel that best fits your particular needs.
  2. There's the possibility that you'll stumble onto a better/faster way to make "one"
  3. You'll learn the tradeoffs involved in making "one"
  4. There may be common mistakes associated with the particular "wheel" you're (re)inventing, so overcoming these mistakes will make you a better programmer
  5. If you've reinvented it several times (or several dozen times), it may take you only a moment to create it in a future program.
  6. You get just as much experience writing something that already exists as you do writing something new.
  7. After you write it yourself, you can go evaluate the one that already exists (probably at cpan), and see how you did!
Think what the consequences would have been back in 1987 if Larry Wall hadn't "reinvented the wheel" when he wanted something more powerful than sed, awk and sh to program in!

Replies are listed 'Best First'.
Re^3: Keeping sharp and fresh
by aufflick (Deacon) on Sep 23, 2005 at 00:35 UTC
    I haven't thought of focussing on this - when I have tried, I inevitably end up realising why the module author took so many lines of code to do it when I thought it was simple! In that way it can also teach respect :)