Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re: Necessity is the mother of invention

by Anonymous Monk
on Mar 09, 2005 at 21:36 UTC ( #438067=note: print w/replies, xml ) Need Help??

in reply to Necessity is the mother of invention

Too many people try to do this at work. :-(

At work, please don't solve a solved problem in a new way; and if you do, **please** don't do it in production code unless you've got a very, very good reason.

I have to deal with this sort of thing all the time: people deciding to do "clever" things with Perl, then forgetting why they did them, or making things overcomplicated just to "try out" features that aren't needed. Code like that is hard to maintain! :-(

Don't artificially complicate an old solution, unless there are clear benefits to trying a new approach. Even then, refactor first, re-write later.

Even when dabbling on your own time, why not try to solve a new problem, instead? There are lots of projects that need doing: try doing something that hasn't been done, or adding a little feature to something that already exists.

There are certainly learning benefits to doing something that has been done before (for example, you can look to other implementations as a reference for what you should/should not have done, and compare results). However, there's also a certain joy that comes from doing something productive that other people can use and appreciate. I prefer the latter, if and when I can manage it.


  • Comment on Re: Necessity is the mother of invention

Replies are listed 'Best First'.
Re^2: Necessity is the mother of invention
by Nevtlathiel (Friar) on Mar 10, 2005 at 12:33 UTC
    Richard Feynamnn the Nobel prize-winning physicist had a great reason for solving old problems - it builds your confindence and your experience and then one day you find an interesting problem and solve it and discover that no one else had managed it before. There might not be a practical use for a seond solution, but there is a lot to be learned from getting there which cannot be gained from simply studying an existing solution. The point is the journey, not the destination ;)
Re^2: Necessity is the mother of invention
by dpuu (Chaplain) on Mar 09, 2005 at 23:22 UTC
    "Why not try to solve a new problem instead?

    The simple reason is that, contrary to popular wisdom, the best time to fix something is when its not broken. If you already have something that works, its easy to test that your new solution does the same thing -- especially if your have tests for your existing solution.

    And a comment on the title of this thread: I thought it was well estabished that the common case is the reverse: invention is the mother of necessity. That is, we don't realize that we can't live without something until we actually have it. It's why market analysts invariably fail to predict "the next big thing".


    Opinions my own; statements of fact may be in error.
      It's why market analysts invariably fail to predict "the next big thing".

      I have a rather different view on why market analysts fail...mostly it's because they always ask 'wool-over-the-eyes' questions like "How would you feel if your [cellphone] was (or wasn't!) the smallest/lightest/coolest thing amongst your circle of friends?" rather than straight forward questions like "Would you pay a premium to have very cool, tinier mobile than your freinds?".

      The fact that there is a practical limit to the usability of a yet smaller, phone seems lost on them. Have you ever tried, (or better yet, watched someone else) trying to use one of those really tiny mobiles in a noisy environment? I call it the "cool-cell DTs".

      Listen, move down, speak, move up, listen, move down, repeat, move up, listen, move down, re-repeat "Could you repeat that?", move up (quickly), listen,.... :)

      Examine what is said, not who speaks.
      Silence betokens consent.
      Love the truth but pardon error.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://438067]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (7)
As of 2021-01-20 20:16 GMT
Find Nodes?
    Voting Booth?