Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re^2: Modules, Frameworks, and Reinventing the Wheel

by Mr_Jon (Monk)
on Aug 12, 2004 at 21:43 UTC ( #382479=note: print w/replies, xml ) Need Help??


in reply to Re: Modules, Frameworks, and Reinventing the Wheel
in thread Modules, Frameworks, and Reinventing the Wheel

I have to agree that this directly reflects my own learning experience. When I started out with Perl, I was vaguely aware of CPAN but not familiar with its contents. As a result, my first programming ventures involved (amongst other things) handrolled templating systems, DIY date conversions, XML & HTML parsing with regexes, and many still worse horrors.

I view this now as no bad thing, since the shortcomings of my own solutions have allowed me to appreciate the complexity of the issues involved in these seemingly (to a beginner) simple tasks. When faced with a problem, I will now always look first to a module, since I understand the value of a tried and tested solution.

Surely it all comes down to the issue of abstraction. The essential benefit of a module is that you don't need to understand its internal workings in order to use it. For me there is no difference between using a module, and using Perl's built in 'sort' function versus writing my own - I don't need to concern myself with the underlying alogarithm in order to benefit from it. Of course, if I wanted to, I could look at the source code of either. But the point is I don't need to.

I see no problem in using an interface without worrying about its implementation. Is this not the entire philosophy of OO programming? And taken to its extreme, is this not the reason we all use Perl (or any other language) versus telling our computers what to do by constructing the correct sequence of '1's and '0's ...?
  • Comment on Re^2: Modules, Frameworks, and Reinventing the Wheel

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (5)
As of 2021-01-26 19:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?