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

Re: Why I learn a language.

by extremely (Priest)
on Feb 25, 2003 at 07:21 UTC ( #238377=note: print w/replies, xml ) Need Help??

in reply to Why I learn a language.

I learned Perl because one of the programmers at our new ISP (back in 1996) told me I might like it better than shell scripts. He said, "I think it will fit the way you think."

A year later, he was calling me for advice when he was tinkering in Perl. By that time I'd already been dispensing advice (not always good advice...) for months. My first post to CLPM on google helps date me.

I would have remained a hobbyist if not for the fact that that progammer left the company right about the same time I felt the need to have a major project done for my department (I was Tech Support Manager.) I turned in my massive project document only be told there wasn't any web programmer anymore. So I sucked it down and accepted their offer to give up management to code.

As to the second question, I waffle from elegance to efficiency. Things that just need to get done, I do in a scrappy manner. Things that are going to get used over and over buy more attention up front. I try to be meta-efficient by not overworking unimportant code.

The key lesson I've learned is to never give a single thought to how fast something will be. Figure out if it will work at all, first. The time I've seen wasted on over-optimizing code for speed (code that adds barely 1% to the run time in hindsight, at its worst) would amount to more man-hours than I've spent actually programming.

I, personally, have wasted too much time on more than one project in pursuit of beauty. Over optimizing for purity is as bad as pre-optimizing for speed.

$you = new YOU;
honk() if $you->love(perl)

Replies are listed 'Best First'.
Re: Re: Why I learn a language.
by Notromda (Pilgrim) on Feb 26, 2003 at 16:31 UTC
    I, personally, have wasted too much time on more than one project in pursuit of beauty. Over optimizing for purity is as bad as pre-optimizing for speed.

    OMG. I just realized that I sometimes do the same thing.

    Anyway... I choose perl because it is mature, has lots of modules to do what I need (Thanks to CPAN) and is just simply easy to use. When I started, PHP and Python both were missing important features. (Python was missing something like pop - it had push but not pop, or something like that. I'm sure that's fixed by now)

    On the other side of the spectrum, C and C++ just requires way too much work to get simple things done. And I haven't had to program anything that truly required the speed benefit of C.

    It basically comes down to using the right tool for the job... and for my job as an ISP sysadmin, perl is almost always the right tool.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (7)
As of 2016-09-26 06:28 GMT
Find Nodes?
    Voting Booth?
    Extraterrestrials haven't visited the Earth yet because:

    Results (476 votes). Check out past polls.