in reply to Reinvent the wheel!

Reinventing the wheel as a means of getting the job done is usually bad. Reinventing the wheel as a means of learning is good. We've all done that on some level. What else are the practices in books or the tasks we all completed learning something, than reinventing the wheel?

There's one great thing about a reinvented wheel. You can compare your solution with the solution(s) of others and thus learn more than by just writing code or just reading someone else's code. By implementing that wheel yourself, you get a much better understanding of the problem and can better appreciate or critique the decisions made by the other implementor. You can find better ways to write something than what you wrote yourself, you can find that your solution of a subproblem is shorter, but maybe has some drawbacks. You may even find out that your wheel is rounder, better spring-loaded, ... and generally works better. Or maybe not. But it was still well worth the time.

Replies are listed 'Best First'.
Re^2: Reinvent the wheel!
by zentara (Cardinal) on Mar 22, 2009 at 13:18 UTC
    What we need are programmers that will create new wheels to solve the new problems. Most of the old problems are already well solved. Sometimes studying the old solutions, predisposes you to making similar designs....it's ok if they are the best solution, but often we carry mistakes from the past forward into the new designs.

    Additionally, do you know how toxic it is to make computer parts, on your own? We should have stuck with the abacus....:-)


    I'm not really a human, but I play one on earth My Petition to the Great Cosmic Conciousness