Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: What's wrong with re-inventing wheels

by philcrow (Priest)
on Jul 10, 2006 at 20:50 UTC ( [id://560225]=note: print w/replies, xml ) Need Help??


in reply to What's wrong with re-inventing wheels

I like your point that new versions of the wheel are invented at intervals and that the genuine improvements are adopted. It's just that we've all seen home rolled templating systems, in part because we've written a few ourselves, and they were bad. Seeing so many of them has raised a big red template replacement button which has a hair trigger by this point.

Expirementation gives us things like XML::Twig, but it also gives us those template systems that lie about the legacy areas of our shops, requiring occasional painful work. So, we advise against starting from scratch based on one or a few quibbles with existing approaches.

Also remember that for each inventor who succeeeded, there were dozens of others in the same period of time, worried about the problems. Many of those, whose ideas died, thought themselves unfairly persecuted, some even imagined that their ideas were so powerful that entrenched interests arrayed against them. Most were delusional about those claims.

Generally, we try to discourage people from pursuits that might lead them to the funny farm. Instead we try to engage them with the community. If, in the end, they don't find our advice helpful, off they go to do their own thing. It might be fabulous, but most likely it won't be.

In summary, please bear with us when our crack pot path alerting sensors peg. But don't think we will always reject a better mouse trap, it just might take a bit of convincing.

Phil

  • Comment on Re: What's wrong with re-inventing wheels

Replies are listed 'Best First'.
Re^2: What's wrong with re-inventing wheels
by jimt (Chaplain) on Jul 10, 2006 at 21:14 UTC

    It's reasonable to say that choosing templating systems as the rallying point was not the best move, but it's what got me rattled up, anyway. :-)

    And you are absolutely correct - the crackpot to genius ratio is quite high. Being skeptical is quite healthy. It's the cynical part I don't like.

    I guess the other point I want to raise and seek to discuss is - how are the geniuses expected to differentiate themselves from the crackpots? If the world at large isn't even willing to look at your better mousetrap, then what do you do next?

    Some people toil on in obscurity, content that it works well for them and the public be damned. Some get furious and abandon the project. Some get violent and argue against their attackers who don't see the light of the New True Way.

    And in the end? Meh. If you toil on in obscurity, you're somewhat satisfied at the end of the day, because you have the superior product (at least for you and your own uses). But the world sure wouldn't be beating a path to your door. The other responses up above there would benefit no one.

    Perhaps it's more of a marketing and product development question - if you've built your better mousetrap, how can you convince the public to at least take a look? If something existing is truly the superior product and you don't at least fulfill a niche, then you'll be ignored and relegated to niche status, being labeled eccentric (if you're lucky). And if it's good, then hoorah - off you go to power and glory. But no one will look, then you're just completely spinning your newly re-invented wheels.

      Being skeptical is quite healthy. It's the cynical part I don't like

      Well, let's put it this way. For every great new, improved idea, there are dozens, hundreds, thousands of wannabees. After hearing many dozens of times about how great something is, and getting disappointed (or burned, if you believed them without checking), a bit of cynicism is to be expected.

      Your question is much broader than programming, of course. How does anyone ever tell the difference between the genius and the crackpot? To reject the claim is a self-fulfilling prophecy. You deny that they have a valid idea. Nothing comes of it. Therefore, it wasn't valid. It's fallacious, but safe, because chances are good you won't be proved wrong.

      If you accept the idea, then you risk it being shown to be invalid. If you've committed lots of resources to it, you may be harmed - lose time, money, reputation, whatever.

      I once read a comment by a physicist (I don't remember the book or the person). He said something to the effect that he wasn't sure he'd have recognized Einstein's papers of 1905 for being works of genius. He might have dismissed Einstein as being a crackpot, with his crazy ideas about space and time.

      For every Einstein, there are endless Bozo's out there. If you have no better way of judging, then defaulting to skepticism will almost always make you right.

      At the end of the day, only time will tell whether a new idea is a better idea. People will have to try it out, test it, play around with it. There are probably many unsung geniuses out there whose ideas were ridiculed, ignored, maybe even forgotten. That's unfortunate, but it's bound to happen. We are likely to err, false positives and false negatives being unavoidable. But the price of a false positive is immediate and can be severe. Jumping onto a new, but wrong, idea can be very costly, and you'll usually find out fairly quickly that you've been burned. Ignoring a genius might be more costly to the world in the long run, but it's safer for the decision-makers, and the error won't usually show up while it matters to them. Or does that sound cynical? ;-)

      ... how are the geniuses expected to differentiate themselves from the crackpots? ...

      That's what open source and peer review are all about. The code speaks for the coder (sometimes the coder gets to speak for him/herself too, when asked), and the community sorts out the competent from the incompetent.

      Of course even in this arena, whether a good piece of open source code really gets the usage and notariety it deserves may still be a hit-or-miss, luck-of-the-draw kind of process. (And it's possible that some really poor code gets into the "standard tool set" for a while, but sooner or later, it will get phased out.)

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others meditating upon the Monastery: (3)
As of 2024-04-25 09:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found