http://www.perlmonks.org?node_id=935701


in reply to Reinventing the wheel

Related to the learning effect, but not entirely the same:

Sometimes you need to reinvent the wheel (and recognize how poorly you did it) to recognize the value of the existing wheels.

It has happened a few times to me and others close to me that I thought all the existing solutions to some problems where too complicated, overdesigned and/or overkill. Then somebody set out to reinvent the whole thing in simpler, learned more about the problem domain, and the end result looked not much simpler (if at all) than the existing solutions, and far less powerful.

And that's not so surprising if you think a bit more about it, because most good pieces of software (or other engineering results) are iterations of previous, worse products, and the people who made them gathered lots of experience in the process.

When you enter a new problem domain, you're overwhelmed by its complexity, and can't distinguish essential complexity from accidental complexity.

Replies are listed 'Best First'.
Re^2: Reinventing the wheel
by Mihir (Initiate) on Mar 18, 2013 at 19:08 UTC
    Very well said. But sometimes you think you can simplify the process.eg.i thought I could simplify business management by using automatic software systems and making use of technology to get a better view of processes and using material tracking, automatic payments, flowcharts, displays etc. Now i think that would be better than people with registers and inefective haphazard management.How do you know if its essential or accidental complexity? But like you said im still new to it and probably overwhelmed by its complexity. Maybe gaining experience first and understanding would help. But still :) (please reply to this post not the previous one as I forgot to login)