Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: "Rites of Passage" wheel reinventing

by kvale (Monsignor)
on Feb 26, 2004 at 21:50 UTC ( [id://332107]=note: print w/replies, xml ) Need Help??


in reply to "Rites of Passage" wheel reinventing

I have often built recursive-descent parsers for various projects, when Parse::RecDescent would have sufficed. I once built an entire XML parser out of pure perl, when expat was just laying about ready to be attached to a perl module. Fortunately Larry Wall had more sense than I.

My other major lossage was recreating a lot matrix algorithms before learning about the Perl Data Language PDL.

Moral: Always looks for a wheel first, even if you want to roll your own. It will always turn out better :)

-Mark

  • Comment on Re: "Rites of Passage" wheel reinventing

Replies are listed 'Best First'.
Re: Re: "Rites of Passage" wheel reinventing
by demerphq (Chancellor) on Feb 26, 2004 at 22:12 UTC

    It will always turn out better :)

    Nah. Not always. If everybody thought like that we'd still be using abacuses for calculating and horse draw carts for transportation. Innovation not just the child of necessity but also of a crazed belief that you can do something better/different.

    Ive spent a lot of time working on my pet wheel project, and I think its been a good experience for me, and frankly has given my fellow perlers a nice new shiny tool to make their development live easier. I thought I could write a better dumper, and frankly I think I have. Of course that better by my own definition, but, well, you have to pick your definitions from somewhere.


    ---
    demerphq

      First they ignore you, then they laugh at you, then they fight you, then you win.
      -- Gandhi


      I think you missed my point.

      Creating something new is not the mistake. Creating something new without looking at what is already available is the mistake.

      For instance, in your pet data dumper project, I bet you looked at Data::Dumper to see if it would do what you wanted. It did not, so you probably looked for ideas about the API, how to deal with circular refs, etc. So when time came to create code, you had the benefit of all that previous effort, allowing you to announce a module that already felt somewhat familiar and had more chance of being a successful meme.

      -Mark

        I think you missed my point.

        Yep sure did. And you're right, I spent an awful long time poring over the Dumper.pm and Dump.pm sources before I wrote my first real attempt. My first shabby attempt (immortalized here) predates that research pretty much, and frankly shows it.


        ---
        demerphq

          First they ignore you, then they laugh at you, then they fight you, then you win.
          -- Gandhi


Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (6)
As of 2024-04-25 15:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found