There are Perl programmers who don't use CPAN? Why in God's name would they fail to use CPAN? I worship at the altar of CPAN; CPAN is my life and my oxygen. CPAN is the reason I will stick with Perl until the stars go out and the works of man crumble to dust - except for CPAN, for CPAN is eternal.
In my first job as a Real Programmer (rather than as a tech writer looking for excuses to write code), one of my first tasks was adding features to a script that read a particular kind of XML file. The parser, such as it was, was entirely hand-rolled; if you changed an input file so that it had a space in between tags instead of a newline, the whole thing would break. I wasted no time rewriting it to use XML::Parser.
In my second job as a Real Programmer, I had to add features to a script that parsed scripts in the Informix Perform Screen language. Again, this was hand-rolled. I wasted no time rewriting it to use Parse::RecDescent.
I think simply knowing where to look things up puts you in the top half of professional programmers. Possibly the top quartile.
Having spent the last week struggling with getting a hand-rolled source control monitoring system working, and finally ditching it and using CruiseControl (and getting 95% of what I needed out of the box), I empathize with you.
Have you looked at other language libraries lately? It's hard to find a really useful perl module that doesn't have an equivalent gem or entry in pypi. As much, as I like using CPAN almost every day, it's not something unique to perl anymore. Also, a lot of good stuff that people otherwise use from cpan is in ruby/python by default (oo, logging, testing, threading / multiprocessing, ...)
Some of the crown jewels of CPAN that have been ported to other dynamic languages leave quite a bit to be desired. For instance, last time I was helping a friend with a scraper I was really disappointed in brokenness of the Python port of WWW::Mechanize, and found the Ruby port to be incomplete for my friend's task. Eventually I wrote the parser for him myself and directed him toward another friend who was fluent in Python and Perl who could show him the ropes with Scrapy if he wanted to rewrite it later.
True - there's nothing exactly like www::mechanize, but really, you can usually write what you want with scrapy, beautifulsoup, html5lib, any of the tree/xpath implementations, etc. (I know, because I did, writing a quick form processor + wrapper for common functions in <1k lines for my page scraping needs)
You will rarely find an exact port of some other foreign library that will work exactly like you expected the original to work. That goes both ways - for example there's loads of async frameworks in python, but it's really hard to find a good one in perl. Sure - there's AnyEvent and POE, but they're just bizarre monsters compared to much cleaner simple solutions like diesel. There's Coro... but that's a longer topic than I'm willing to discuss here ;)
Yes it is. Unlike viraptor I've been using Coro (http://search.cpan.org/dist/Coro/) successfully in production without any hitches and have services (including web apps) that are still running after 2 years without a reboot.
Yeah - definitely, if you can make it work for you. I just run into some situations where I expected it to do a context switch in async block but it didn't seem to (locked up instead)... I couldn't find the reason. Maybe it was my fault, or maybe just some tricky bit was missing from the docs - I don't know. Python-diesel is my default so I just went back instead of digging for the solution too much.
Also, the author fails to note that you can't hire great Perl programmers because the going rate for Perl programmers seems to be about $30/hour, and who can do that? I'll continue to earn my bread and butter in the non-programming trades in order to make sure my daughter's teeth are straight, thanks.
Depending on the nature of the job, yes, it is definitely low. If we're talking freelance, remember that you've got to account for your own self-employment tax and health insurance out of that.
The last time I did any serious freelance software work, five or six years ago, I started out charging $80/hr, and was still selling myself short.
I don't know where you are, but in the UK $30 (so £19) or roughly £160 a day is a very low rate. I would say that, depending on the location, the normal rates are from three to ten times this figure (depending on area of expertise).
[Edit - any time I see "daily rate" I think of contracting - £160 a working day as a salaried employee is probably on the low side, but nothing exceptional].
I agree $30 is low but It would be rare in Australia to see $90-$300 for fulltime employment pure development. It's certainly possible as a freelancer or as a more senior role though. Definitely as a consultant of some kind.
Agreed, I was saying $30 is low for fulltime workers. For a freelancer, given that they can only bill so many hours as you say besides other expenses and risk that employees do not have it is simply reckless.
The US is too large to just say $30 is low across the board - $30/hour plus good benefits is quite livable in some areas. In other parts, it's pretty hard to raise a family on $30/hour.
Maybe I'm just a terrible screwup, but in 2004 I qualified for EIC and left programming entirely because the bottom had fallen out of the Perl market. And I've never gotten benefits.
And no, $60K is pretty tight for a family of four anywhere in the US.
> And no, $60K is pretty tight for a family of four anywhere in the US.
That's... not true. I came from a family of eight who never had more than $50k income (no health insurance), and I don't remember ever even having to think about it. We had multiple cars, a large-ish house, etc.
This was of course not in a city, but it's not the cheapest place in the states either.
(After a bit more googling, I may have to retract that last statement. If it's not the cheapest place in the US, it's awfully close.)
Dude, I live in Richmond, Indiana, and my 14-room house cost me $8000. If this isn't pretty damn close to the cheapest place in America to live, I'll eat my hat and yours alike.
Sure, back in the olden days growing up 20 miles from here on the farm, we didn't have squat, either. But seriously, my daughter's braces cost $5200. No joke. Maybe it's just that I can't survive on a diet of Marlboros and PBR any more, having seen something of the world, but $60K would simply not be enough.
A lot depends on habits, sure. One can develop expensive or inexpensive habits. Ours were mostly inexpensive, I suppose, but I never thought of them that way. Practically nobody I knew had a brand new car, so it didn't seem unusual that we had three old cars instead.
(Five of us kids had braces, by the way; and five of us had glasses, and one had hearing aids. I know none of those things are cheap.)
...Anyway, I seem to have dragged you into a rather off-topic discussion. Sorry about that.
The median household income in the US in 2008 was $52,029. Probably with health insurance, but still. If $60k is pretty tight, most of the country has it pretty bad.
$60k is claimed to be tight for raising a family of 4. You're looking at households, which are not the same thing at all.
According to the table at http://www.infoplease.com/ipa/A0884238.html (which claims to be using census data; I tried digging through the census website for this information but actually finding it there is a pain) as of a few years ago 27% of households had 1 person. 33% of households had 2 people. You will note that adds up to 60% of the households. So the median household size is 2.
Households with at least 4 people (the ones that $60k is claimed to be tight for) make up, according to the same table, about 23% of households.
It would be interesting to look at the income distribution for such households, since _that_'s what would be relevant to the concern you're raising; I would expect their median household income to be somewhat faster than $52k, though possibly not a huge amount more. If you can figure out how to get this data from the census website, I'd be really interested.
Simple: because I end up creating a number of small scriptlet tools to pass around to other devs on the team, most of which know little about perl, and I want the scripts to just work, on various crufty computers, rather than fall into a dependency hell.
Now, if I were building an application in a defined environment, that would be different.
Maybe I should demand a better working environment? I took the money instead. (I make considerably more than the $30/hr quoted elsewhere in the comments) This means I have to cope with a lot of crap, but it does provide for a family...
There are many systems with Perl on them that are not on the Internet -- and getting security/IT folks to put CPAN modules on those system can sometimes take longer to do than just writing the functionality yourself.