Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: What's wrong with re-inventing wheels

by eric256 (Parson)
on Jul 11, 2006 at 06:07 UTC ( [id://560325]=note: print w/replies, xml ) Need Help??


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

It is quite simple actualy. If your bike/car gets a flat tire do you: a.) repair it, b.) replace it, c.) invent an entirely new wheel

Most people of coures will try A and B in that order. Some will skip straight to B. Others (our geniuses and crackpots) will consider a and b, then decided that C is going to be more fun! So if you skip to C we are going to consider you either a genius or a crackpot, that decision will be made on the reasoning you present.


___________
Eric Hodges
  • 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 Voronich (Hermit) on Jul 11, 2006 at 19:55 UTC

    The expedient thing to do (in this case) is replace the wheel (or dig around in CPAN and evaluate a few, depending on your metaphor) and continue on.

    But at SOME point you have to decide if it is ok for you to simply trust in "The Magic of Wheels".

    You can dig around in someone's module all you like; run test cases and nod at little green lights (or green lava lamps if you're of that religion.)

    But how can you stand behind a (sub)?system you're creating if when asked how it works, you have "and there's this bit over here I got that I use for soandso and it seems to work well."?

    I've written a couple thoroughly incomplete hackish expedient templating systems for personal use in my time, being pretty damn self-assured that it would be easy. But unfailingly I've found that there are some interesting wrinkles to be ironed out.

    Now I know enough to really evaluate other templating systems. There's no way I could have before.

    Turns out mine is pretty much never the right solution. But I sure wouldn't have known it without writing it.

    To do it or not to do it depends too much on the context in which you're operating to resolve to Always or Never.

      "and there's this bit over here I got that I use for soandso and it seems to work well."

      That is an argument agianst all modules good and bad, big and small, core and non-core. Realy though it doesn't hold water. In any langauge you use peices written by other people, maybe its a sort algorythm, a linked list library, or some other such thing. In all cases you have to combine a bit of trust, a bit of research, and a lot of faith in the community that these thing work. This is part of the reason agianst lots of template systems. Right now it is easy to say (and remember) that TT is good for one thing and HTML::Template is good for others and maybe sometimes module Z. It is also easier to research them because there arn't tons. If however we let many many bad template modules get onto CPAN then we have a whole forest of bad answers with a few hidden flowers. So your issue with trusting code is part of the very heart of not wanting tons of Template wheels rolling around.


      ___________
      Eric Hodges

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others sharing their wisdom with the Monastery: (4)
As of 2024-04-16 17:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found