Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: I am most likely to install a new module from CPAN if:

by perldigious (Priest)
on Apr 03, 2019 at 20:16 UTC ( [id://1232115]=note: print w/replies, xml ) Need Help??


in reply to I am most likely to install a new module from CPAN if:

Sadly, my honest answer to this is, "if I wasn't able to reinvent the wheel myself quick/well enough." It's a terrible practice, I know, but I'll usually bang away at my keyboard for a long time trying to solve a problem with core Perl or whatever module defaults came with my Strawberry Perl install (or additional modules I've already installed) before I go looking around in CPAN. :-/

Assuming I have already started looking in CPAN, I'll use any module that I can find that will, or at least seems like it will, solve my problem. As long as it at least makes some sort of sense to me when I first glance at the documentation... or that was recommended by another Monk I trust for advice.

Clever isn't the same thing as wise, but that's a moot point because I'm neither... I'm mostly just stubborn. :-)

Just another Perl hooker - My clients appreciate that I keep my code clean but my comments dirty.

Replies are listed 'Best First'.
Re^2: I am most likely to install a new module from CPAN if:
by stevieb (Canon) on Apr 03, 2019 at 21:36 UTC
    "if I wasn't able to reinvent the wheel myself quick/well enough."

    Nothing wrong with that, imho.

    I learned Perl (and programming of at least four other languages besides Perl) by trying and doing. Whether re-inventing the wheel is for learning or practice, or even if one feels they can invent a better wheel, I say go for it! I know I've both invented wheels I didn't know existed, as well as re-invent wheels I felt were a more efficient design. Right or wrong in that regard, I digress.

    Think of it this way... some wheels are hammered out for so long, that we just accept that's the way the wheel should be. Sometimes however, someone comes up with a more sleek design of the wheel that makes it travel faster, with less effort. Only way that happens is if someone puts their foot forward to test a new wheel design.

    For larger things (a very complex set of instructions for example), sometimes it's better (and oftentimes far easier) to just run with what's out there, and focus on your cart instead of re-designing the wheels.

    For example, I've created mocking distributions, logging distributions, subroutine wrapper distributions etc, even though there are several available already. These were created because I wanted to learn. Things more complex that have a very, very good rapport (random eg. Getopt::Long) that have a spectacular history, there's no need to re-invent or try to make better that wheel (unless, of course, you become an open source contributor, and add/patch/fix the existing one).

      Back in the day, I was asked to take 2 weeks to learn Perl, before being assigned to work on some Perl based report scripts.

      Since I needed a goal, I grabbed a sample script that echoed back on a socket, downloaded some RFCs, and chiselled out myself a webserver that could facilitate posting offers and accepting resource trades for a forum game. (Naturally, it worked great for any browser except IE)

      I don't know if that counts as reinventing, as I certainly wouldn't want to offer it as an actual thing to use normally, but it rolled despite the primitiveness and I learned a lot making it on my own!

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (6)
As of 2024-03-28 12:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found