Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: Life beyond CGI and DBI

by graff (Chancellor)
on Oct 09, 2003 at 07:09 UTC ( [id://297833]=note: print w/replies, xml ) Need Help??


in reply to Life beyond CGI and DBI

am I an accidental wise-man having unwittingly avoided solutions that need these other things?

Well, it's equally possible that you've been an unwitting simpleton, coming up with your own solutions to problems that have already been solved by "exotic" modules. Have you written your own code to add one or more days to the current date so that you correctly form a past or future date string (instead of using Date::Manip)? Have you been using pure regexes to find or alter stuff in HTML text data (instead of using HTML::TokeParser)? Do you use system() calls to run commands that do things like file compression, base64 encoding, MD5 signatures (instead of using Compress::Zlib, MIME::Base64, MD5), etc? If this applies to you, then you've been working too hard to write your own code, and not working hard enough to improve your ability to write good code.

To your credit, your two favorite modules are heavyweights -- having control of CGI and DBI is nothing to sneeze at, and you can cover a lot of ground without getting bored. (Let's face it, you couldn't do what you normally do without them.)

is some of this other stuff marginal and/or just for elegance?

If you browse CPAN without a specific need in mind, yes, you will come across some marginal (even frivolous or downright pointless) modules. Maybe a lot of them. But quite a few things that you haven't tried yet do happen to be mission-critical and highly valuable for other people.

For example, there are whole classes of crucial apps that cannot be done without fork(), and the fact that you have not been involved in developing such apps (yet) just means that you haven't been in that particular line of work. (Indeed, it may be relatively rare for a CGI- or DBI-based app to use fork.) So, yes, you've been leading a sheltered life in that respect. Maybe that's a bit like saying a plumber leads a sheltered life because he hasn't used a torque wrench or a timing light -- which has nothing to do with how good a plumber he is -- but if you like the idea of being adaptable (like someone who can do both plumbing and car repair), then it's time to get your hands dirty with some different kinds of work.

Replies are listed 'Best First'.
Re: Re: Life beyond CGI and DBI
by Anonymous Monk on Oct 09, 2003 at 07:35 UTC
    If this applies to you, then you've been working to hard to write your own code, and not working hard enough to improve your ability to write good code.

    I wasn't aware writing code and improving your ability to write code were mutually exclusive. There are even cases where you wouldn't want view existing code prior to doing it. Guess I'm just an unwitting simpleton ;)

      I guess I didn't quite convey what I meant. My point there was: if you haven't been using modules to help with common or complicated parts of an app, then you're working too hard by trying to write these parts on your own, and you are probably going to make mistakes that a module author has already taken care of (so your code might not be so good). If instead you were investing time to learn the use of good modules, you would (usually) be able to write better code (and usually take less time overall to finish an app).

      It's not that working hard and writing lots of code will be of no use for building skills -- surely practice leads to improvement. It's just that improvement can go much faster when you see how other people solve problems, and you "stand on the shoulders of those who came before you".

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (7)
As of 2024-04-19 10:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found