Perl is crap

Ranguard on 2006-06-15T09:29:21

My wife works for a big medical company as project manager; so she deals with their inhouse developers a lot and my work often comes up in conversation. She is always told "Perl is crap", "It's only for hackers", "Perl is hard to read", "Perl is used so you have job security" (as no one else can userstand it).

Now I imagin most of these developers have never seen much/any decent Perl / heard of CPAN or realise that you can do automatic tests so easily.

So where do I tell my wife to point them to so they can see the light? - I'm not trying to convert them (though that would be nice), but I also want to be able to arm my wife (figuratively) with a response.

I've said the first thing she should mention is that the World Health Organisatoin used Perl for it's CRM system; Amazon, BBC and Yahoo all use lots of Perl, and there are success stories out there.

What I'm after is a decent reprisal to all of their points - the main answer is you can shoot your self in the foot with any language if you do not write it well/document/test. Java and XML are NOT the solutions to every problem - I can do rappid clean development with Perl, but they're problably not going to take my word for it.


just ask her to call bullshit

TeeJay on 2006-06-15T09:53:09

You know they're bullshitting, they know they're bullshitting, she probably does as well..

How about a few questions like.. "So for the last library you wrote, did it have documentation coverage tests, and hundreds of unit tests.. because it's the norm in perl development these days"..

or "so when was the last time you went to any talks on your enterprise language of choice, or discussed best practice with the local user group. So whens the next UK conference for $uk_language and are you going?"

Hopefully you can find quite a few chances to show they are bullshitting - get the boot in when they inevitably have errors come up in QA or fall behind.. "so you reckon your code is so much more reliable and readable than perl - why aren't you done yet, why do we still have bugs, where did this bug come from then?"

Re:just ask her to call bullshit

RoMo on 2006-06-15T14:24:43

While working for 2 of the named popular companies in the past I can say it really depends of the person who holds the "Lead" or "Architect" rule.

It's in their responsibility to:

- make sure code quality is good - make sure people working on the code are skilled - make sure people working on the code are motivated and not scared by probably upcoming layoffs. - make sure there is room to enhance skills and know-how within the work or at least financed by the company (i really like the 20% idea at google) - Business/Sales/PM pay respect to the IT guys and their time estimates

When a project misses this kind of Lead/Architect and company climate the code quality can go down within a few minutes. (like the "Broken-Window Theory")

This is I guess true for all programming languages but maybe there are more poor unemployed PHP guys around to fix totally b0rken obfuscated code for a customer than perl guys....

Also: How can you hire a guy that is better than you when you're IT lead? Let's make it easy and hire some lameass student to be fired in some month because of laziyness...

hiring smarter people than you

TeeJay on 2006-06-16T07:55:51

I'm pretty happy to hire better people when working as a technical lead. Cleverer people.. perhaps not (see explaination later).

I've been looking for an additional contractor recently and would have been very happy to take on somebody with better perl and integration skills. My job as lead tech has always been to understand the business and build a partnership with the project manager and generally set out how things should be done. If we have somebody who knows better than me, we're more likely to avoid some problems and that's very welcome.

It's only a problem if the better developer wants to take over the lead role, which often isn't the case, as few techie will really want to spend time in meetings and doing boring stuff like checking the code quality, writing specs/estimates and documentation.

clever people

TeeJay on 2006-06-16T07:59:20

oh yeah.. clever people.

Avoid anybody described as a genius..

Of the places I've worked with a 'genius'..

2/3 times they have had a non-cs background and reinvented every wheel from cgi query parsing to templating to database abstraction, and usually have very odd ideas about how to organise and name things.

1/3 the genius had a CS background but still insisted that he could reinvent a better wheel than mod_perl, TT, etc.. yes mugwump I'm looking at your smart arse ;)

Success Stories

davorg on 2006-06-15T10:55:57

I understand that the Foxtons web site is built in Perl and is one of the most useful estate agents' web sites out there. I also understand that their developers have no problem adding complex new features quickly.

Perhaps you could get her to mention that.

Re:Success Stories

Alias on 2006-06-15T11:18:13

I also recently learned that if you go through almost any major airport in the world, that the flight information boards you see are using Perl to talk to the airports, and that Perl also is printing yout boarding passes.

Hard to read = "Only if you don't comment your code and don't write documentation, but then only bad programmers don't comment or document their code" ... they probably don't write much in the way of comments.

The job security thing is also a myth, anyone that thinks so deserves to be fired.

More perl in aviation

TeeJay on 2006-06-16T08:28:10

Perl also provides route briefings, and weather reports to pilots and airline operations centres through both a company I'm contracting for and the UK Met Office.

So much for the old "perl isn't fit for mission critical software" - our briefing system meant that one of our customers was the only european airline able to get it's customers to their destination for a couple of days last christmas, all the others had their customers stranded at airports.

Re:Success Stories

Ranguard on 2006-06-15T11:28:53

Yea, they don't have any issues with how good the website is, which makes their response to what language we happen to use all the stranger.

I guess you _could_ assume that the site just creaks along on badly written perl, without seeing the code you wouldn't know it's all Object Oriented, with thousands of tests, optimized caching (both on disk and using memcache), documented and reviewed by another developer before going live, all automatically deployed on multiple servers using an automated packaging system (written in Perl), using a version control system (SVK - also written in Perl) and made fast because we use mod_perl.

That's just what's on the live servers, we then have many servers in the office automatically resizing and optomizing photos and floorplans as well as managing the pdfs and XML which the CRM system provides to populate the website.

All of those statements can be and often are, true

hfb on 2006-06-15T13:52:17

As a sysadmin, I've seen the worst of the worst and though I use perl, I know it's faults. I don't blame guys who are comfortable with another language using it instead as forcing someone into a language like perl, just perpetuates the vast majority of shit perl code that's already out there.

Re:All of those statements can be and often are, t

TeeJay on 2006-06-16T08:31:25

The problem isn't that they're not using perl - it's the reasons they claim.

If they said that they'd lose productivity and have to learn a new language, which are valid reasons then nobody would be complaining.

The problem is they are spouting bullshit about something they have no knowledge of.

Some general points

cbrandtbuffalo on 2006-06-15T15:20:17

You might pull some points from these:

http://www.perl.org/advocacy/
http://www.perl.org/advocacy/whyperl.html

Or just send them the link.