Live data from Hacker News

Why I Use Perl: Reliability

modernperlbooks.com

191–196 of 196 posts

Re: Why I Use Perl: Reliability

#191

Yes Perl is a great language -- stability, maturity, etc. But does anybody realize just how hard it is to find decent Perl programmers? It's not a large community to begin with and the pool of decent programmers is even smaller.

Finding good Perl devs is easy. Use perl reddit, blogs.perl.org, jobs.perl.org and ask people for their CPAN account. The hard part i found is finding perl developers that are willing to work for the salary of an intern, or for companies that think CVS is the bee's knees.

Re: Why I Use Perl: Reliability

#192
post #143

Earlier quoted context omitted.

I once had a large CPAN dependency install fail because one of the modules' tests included an http request to a 3rd party website which happened to be down that day. I wanted to strangle that developer when I finally tracked down the error (it wasn't failing with an obvious error that would let me easily recognize what was happening, I had to read the code itself). That is going a bit too far with the testing, I thin…

IIRC, the correct protocol with network testing is to prompt the user first that it's going to connect to another host, so they can skip the tests if there's something wrong with their network (or the site on the other end). The other way to do it is to start an HTTP server locally and use that (which is what WWW::Mechanize does)

Prompting the user seems like a bad thing for an automated test to do!

The whole point of automating tests is so you can run them unattended: at install time, or under a continuous integration system after code check-ins, or for git pickaxe to find which change caused a bug, or whenever else you want to confirm that a whole lot of code still works as intended.

Re: Why I Use Perl: Reliability

#193
post #153

Earlier quoted context omitted.

> But Perl is one where, depending on the circumstances, the response could plausibly be as article says: boredom. "Yeah, sure, whatever. I'll go upgrade them." (Certainly there are others, but Perl is definitely one of the best in this regard.) Remaining backwards-compatibility and having good, reliable tests for your OWN software are two separate things and I am sure a special hell awaits those who are unfortunate…

To be completely honest, I would expect no less from Java or python within the same major release, namely for the language and the interpreter to "just work" I'd expect it too. Sadly my expectations are often not met :-) Can you help me understand why Perl is so special or outstanding in that regard? Maybe just the very test-aware community? I think it's a combination of the test-aware community - and the infrastruct…

Great and interesting answer and links! Thank you very much!

Re: Why I Use Perl: Reliability

#194
post #45

I was about to note that the OP clearly hasn't used Clojure if he uses it as a negative example in terms of reliability, but then I remembered — I promised myself not to get too deeply into these kinds of silly discussions. So, dear OP, good luck writing your large-scale multithreaded high-performance distributed applications using Perl. And BTW, I do use Perl quite a bit and I really like it, for certain tasks. But…

FWIW, my team has both written large-scale and high-performance distributed applications using Perl. In fact, we've even done it mostly IN Perl with just tiny bits of C sprinkled here and there. Runs on millions worth of relatively commodity hardware in several data centers across the globe. The only threading going on is at the C level, though.

Your point about these comparisons being dubious (paraphrasing) is perfectly valid, by the way.

Re: Why I Use Perl: Reliability

#195
post #153

Earlier quoted context omitted.

> But Perl is one where, depending on the circumstances, the response could plausibly be as article says: boredom. "Yeah, sure, whatever. I'll go upgrade them." (Certainly there are others, but Perl is definitely one of the best in this regard.) Remaining backwards-compatibility and having good, reliable tests for your OWN software are two separate things and I am sure a special hell awaits those who are unfortunate…

To be completely honest, I would expect no less from Java or python within the same major release, namely for the language and the interpreter to "just work" I'd expect it too. Sadly my expectations are often not met :-) Can you help me understand why Perl is so special or outstanding in that regard? Maybe just the very test-aware community? I think it's a combination of the test-aware community - and the infrastruct…

I will add that at least both PHP and Python core development has been very willing to give any feature that's deemed a mistake the axe without second thoughts. On the opposite extreme, we (the perl5 porters) have mostly taken the opposite stance of supporting real users if in doubt. There are many features of Perl that are widely considered to by ill-suited for larger projects. We'll take very good care to provide a gentle and clear migration path when we break those. I'm sure this helps in migration. At work, we're slowly migrating ~2.5 million lines of code across 14 versions of perl right now. Mostly without a lot of pain.

This being said, this is not a snipe at how PHP or Python do it. It's a choice of the maintainers/developers.

Re: Why I Use Perl: Reliability

#196

Earlier quoted context omitted.

The worst problem with Perl as a language is hiring for a good Perl programmer. It's easy to hire a mediocre Perl programmer, mind you, sometimes even a mediocre programmer who's really good at Perl specifically and knows all the packaging tricks and whatnot so he can get through the interview before falling apart on the job, but really hard to find the good ones. It just doesn't have much mindshare at the moment (ug…

I'm interested. I love Perl, and would love to work for a company that requires me to program in Perl. Care to share which companies are these? Thanks.

http://jobs.cpanel.net (Houston).
Post reply on HN