Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
my incredibly crufty Inline::CPP self-built analogue of Data::Dumper

Interesting. You and I should chat. :-)

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.

Bravo. I too have been reinventing this particular wheel. (See Reinventing the wheel: Dumper Difficulties). I can guarantee that you will learn cool stuff.

Not to be egotistical but I know im up to the task of fixing them (at least at the perl level). If you or anyone else was interested in working with me to produce an XS version of my code then I would be happy indeed to have the collaboration.

As for using Data::Dumper for persistancy purposes I strongly recommend that you dont if the data strcutres in question are self referential, and if they involve refernces to items contained in aggregate objects. These will be dumped very subtly and seriously wrong.

Which brings me to my point. Anonny monk (Yillt?) said that wheels dont get to be standard unless many people have looked at them... True. But Data::Dumper is an example of where many many worked patched reviewd and analyzed (and they are some of the best) but did they notice the subtle bugs? No they didnt. In fact I didnt even notice the bug in my own code becuase I foolishly assumed that Data::Dumper couldnt get things that wrong. I completely agree with tadman when he says we would still be driving around on stone wheels mounted on wooden pegs.

The moral for me is that reinventing wheels is fine and dandy, so long as you have studied the shit out of the subject first...

... Or are doing it for plain and simple self satisfation, either as a learning exercise or as mountain climbing. Why did I climb it? Hmm, good question. I suppose because it was there?

Yves / DeMerphq
---
Writing a good benchmark isnt as easy as it might look.


In reply to Re: Re: Re-inventing the wheel is a 'Good Thing' by demerphq
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 examining the Monastery: (4)
As of 2024-04-25 12:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found