in reply to Re^3: Directory Syncer
in thread Directory Syncer

Valuable reasons for re-inventing wheels:

.{\('v')/}
_`(___)' __________________________

Replies are listed 'Best First'.
Re^5: Directory Syncer
by Aristotle (Chancellor) on Aug 19, 2004 at 07:09 UTC

    That all falls under the "inventing a rounder wheel than what's already there" clause in my post. :-) If you know how existing wheels work and understand how they are suboptimal in this way or that, and you have enough dedication to work out all the kinks in your own solution to make it really robust, then by all means go ahead and reinvent that wheel. Just don't do so off-hand, because that leads to hexagonal wheels, and they're not much fun for your passengers or the mechanic who later comes after you.

    Makeshifts last the longest.

      I share 100% your opinion!

      In my case, I need to 'reinvent wheels' and in that process understand what I didn't from the start.

      There might be more practical techniques but mine works with me. I know that I am going to have to face the same mistakes over and over again, until I finally understand where I was wrong.

      The practical way is just trusting the creator and studying by hard how to use that perfect thing. But perhaps, doing so, I might once stumble with some difficult times and might then question if that perfect thing was so perfect...(thanks Talking Heads). Because I didn't understand it well.

      Besides, what more fun than re-inventing 'existing wheels' in one's own way (I did it my way..., thanks Franky :) )?

      .{\('v')/}
      _`(___)' __________________________
      Wherever I lay my KNOPPIX disk, a new FREE LINUX nation could be established.

        Yes, learning is a valid reason to reinvent wheels. It is not, however, by itself a valid reason to rely on the wheel you made. I've written my own CGI query string parser and my own templating system just like everyone else, but I've long thrown them away in favour of CGI.pm and the Template Toolkit. If I had the dedication to make a CGI module that's actually as good and as robust as CGI.pm, then I would make my own and keep using it. But I don't, and so I use CGI.pm because that's a known round and stable wheel.

        Always have a good reason when you reinvent a wheel, and always have a good reason when you use your reinvented wheel. “Because I can” does not count among those.

        (Not arguing with you, but clarifying my position.)

        Makeshifts last the longest.