Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

Okay, I admit it. I'm one of the people who tend to tell people not to reinvent the wheel, and yet whilst doing this I often have my incredibly crufty Inline::CPP self-built analogue of Data::Dumper sitting happily in an editor on my desktop.

Hypocritical? Maybe.

Pragmatic? Most certainly.

When I tell people to reuse existing wheels it's because it sounds like they're after something to use in a larger project, and the best way to get something that works reliably and quickly is to use the tried and tested solution. It should work well enough, and you probably won't end up with as many holes for people to poke at as if you'd just deployed the untested and unviewed by others code.

So, why am I redoing Data::Dumper? Does the original have problems? From what I gather the answer to this is 'Yes, but I don't think I'm yet up to the task of fixing them, or building a better version'. I'm doing it to develop my skills, my understanding, not to develop a product. When I do things requiring persistant data for production work I reach for the original, or another recognised varient upon the same basic theme.

Essentially I think there's three circumstances.. When you need the wheel to work properly and don't have the time or ability to build Wheel++ then go with the existing wheels; when you have time to learn new things try and develop your own version of existing things- you probably won't acheive the same quality, but you learn, and you can use the original versions more effectively when the time comes; and the final state is both having the time and ability to build the better wheel in which case go to it.

One favour though, please try and modify the existing wheels rather than creating a new one wholesale unless there's absolutely no way round it. We lesser mortals do not want to spend too long learning to build new axles!

Now, if you'll excuse me I have to hack some more at a wheel that's looking remarkably square at the moment. All part of the wheelwright's craft, I hope to get nice round wheels eventually though and when that comes I'll let others use my wheels.


In reply to Re: Re-inventing the wheel is a 'Good Thing' by Molt
in thread Re-inventing the wheel is a 'Good Thing' by Felonious

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

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

    No recent polls found