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":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.