How Do You Cope with Anti-Perl FUD?

kid51 on 2006-11-19T15:34:09

I've encountered a certain amount of anti-Perl FUD lately, and I'm wondering how other Perl hackers cope with it.

Last month I spoke at a local (non-Perl) users group. They needed a last-minute substitution for a speaker who couldn't make it, so I gave what was more or less the talk on maintenance of CPAN modules I gave at YAPC in June. There was a guy in the first row who was evidently out to bait me. His first question was, "I hear Perl is dead."

I cited the strength of this year's YAPC, the vitality of the Perl community, etc. Since I felt he was simply trolling, my response was brief so I could get on to a more on-topic question.

This week, fresh off the plane from the Chicago Perl hackathon the popping of my Parrot/Perl 6 cherry, I was coming out of the subway on my way to work when I ran into a fellow I've known for several years. He used to attend Perl Seminar NY fairly regularly. He spoke two or three times, always did good presentations and always impressed me with the breadth of his professional experience, with respect to languages, OSes and areas of focus.

So he says (I'm paraphrasing from memory), "At my shop (a medium-sized investment bank) the amount of Perl that people are writing is really going down. People are writing a lot of JRuby and JPython because the Java libraries have gotten so much better and Perl 6 hasn't come out."

I didn't want to get into an argument there, but I urged him to come back to perlsemny some time and share his experiences working in non-Perl environments. That night I formalized that a bit by inviting him to speak at perlsemny, but in my email I also noted the big upsurge in postings on jobs.perl.org and that the fact that Perl, at long last, had enable me to get an IT job.

I work at a Perl shop, so the amount of Perl being written there is in no danger of declining. But a lot of my colleagues, who are all Perl programmers but only a few of whom participate in the Perl community, are clearly skeptical that Perl 6 will be worth the wait for it. Since I have to agree that the wait has been, shall we say, protracted, I don't have much to say in response. (I guess my own response has been to finally find a niche of the Perl 6/Parrot project I can work on -- but that's not everybody's approach.)

I'm wondering how the rest of you cope with potentially FUD-dish attitudes toward Perl.


FUD

petdance on 2006-11-19T17:42:22

First off, I don't let it actually bother me. I don't take it as an emotional issue. It's only a programming language.

To trolls who don't bother with anything more than "I hear Perl is dead", all they really deserve is an "I assure you it's not."

As far as "Java libraries have gotten so much better and Perl 6 hasn't come out," there's not much to argue there. Yes, Java progresses, and Perl 6 hasn't come out. It's great that you jumped into Parrot at the hackathon because Perl 6 needs all the help we can give it.

Ultimately, I think we need to treat the issue of using Perl as separate from Perl 6. They really will be separate languages, so let Perl 5 stand on its own merits. Besides, Perl 6 isn't going to have the power of CPAN on day one anyway.

Re:FUD

kid51 on 2006-11-19T18:27:47

Are Java libraries to any extent open-source creations or are they entirely commercial products?

With proprietary commercial products, unless you've been invited to be a beta-tester, you are entirely at the mercy of the software's producer as to when the next upgrade will come out. E.g., MS Vista. An individual developer working at company X has no control over that software's release date. At best, he can pester management to purchase it once it does appear. For all practical purposes, the developer has no agency.

With Open Source software, either (a) the software is entirely or almost entirely the product of community volunteers; or (b) the software is to a considerable extent the product of a company which releases the code under an OS license, will accept community contributions to the code, and expects to make money by selling services and support. In either (a) or (b), developer X can affect the software release date by making contributions to the code base on either his employer's time or his own time. In this case, the developer does have agency with respect to the release date -- and to the quality of the software as well.

Of course, most of the time, most developers don't exercise agency even when they have it. They treat the release date of Perl 6 in the same way they treat the release date of Vista -- as something which they cannot possibly affect and can only grouse about.

I'm wondering if it would be worthwhile to call these distinctions to the attention of people who are prone to that sort of grousing?

Re:FUD

Aristotle on 2006-11-19T18:36:34

There are massive quantities of free-as-in-speech Java libraries, at least as much stuff as there is on CPAN. The Apache Software Foundation is home to a lot of very popular projects. However, overall, Java does not have a central repository, and the cultural conventions of free Java code are not quite as coherent as those of CPAN stuff.

Perl remains king with CPAN, but Java is not a bad choice in that area.

Re:FUD

Dom2 on 2006-11-19T20:47:54

The difference I've found with Java is not that the code isn't out there. It's finding it. Google helps, but not in the way that search.cpan.org does. And, as you say, there's little-to-no coherency in file layouts, build scripts and all that sort of thing. It's a shame, as there is some really good code out there.

Re:FUD

lachoy on 2006-11-20T03:13:00

I agree with finding the code, There are a few known quantities (jakarta, codehaus) and some well-known places to look for links. But there's no CPAN, and certainly nothing like the infrastructure that's built up around it.

But I disagree about the build. Nearly all projects have an Ant build script (build.xml) or, less commonly, a Maven build (project.xml). Not all of them have the same targets, but it's there and sufficiently readable to use.

There is some consistency with file layouts, but a number of Java projects have this really annoying habit of putting non-source files in a 'src/' tree :-)

Re:FUD

Dom2 on 2006-11-20T10:00:27

I agree with finding the code, There are a few known quantities (jakarta, codehaus) and some well-known places to look for links. But there's no CPAN, and certainly nothing like the infrastructure that's built up around it.

Yep, they are a couple of well known places (and usually pretty good). But it's still not as integrated as CPAN.

But I disagree about the build. Nearly all projects have an Ant build script (build.xml) or, less commonly, a Maven build (project.xml). Not all of them have the same targets, but it's there and sufficiently readable to use.

Oh, there's nearly always a build.xml. It's just that what it does is usually pretty random. You do have to read the thing in order to build it. Mind you, building it is usually an optional extra, thanks to jar files.

There is some consistency with file layouts, but a number of Java projects have this really annoying habit of putting non-source files in a 'src/' tree :-)

Having been down that road, I know why people do it at least. The number of things (like you, log4j) that expect to find their configuration files in the root of the CLASSPATH means it's much easier to just throw things in with your source and copy them into the build tree...

-Dom

Re:FUD

lachoy on 2006-11-20T16:44:52

Having been down that road, I know why people do it at least. The number of things (like you, log4j) that expect to find their configuration files in the root of the CLASSPATH means it's much easier to just throw things in with your source and copy them into the build tree...

Yeah, I know why they do it too, but I still don't like it. It's just as easy (and IMO less confusing) to create a 'conf' directory and put that on the classpath. But that's a minor quibble.

Re:FUD

Dom2 on 2006-11-20T18:05:45

Having been down that road, I know why people do it at least. The number of things (like you, log4j) that expect to find their configuration files in the root of the CLASSPATH means it's much easier to just throw things in with your source and copy them into the build tree...

Yeah, I know why they do it too, but I still don't like it. It's just as easy (and IMO less confusing) to create a 'conf' directory and put that on the classpath. But that's a minor quibble.

Ah, but if you're using an IDE like Eclipse, it automatically copies stuff from src to bin. And so the rot sets in. "It works", why change it...

-Dom

Re:FUD

Abigail on 2006-11-20T09:08:38

I'm all for it to treat perl5 as a different language than perl6, but all we've seen from perl5 the last 4 years are maintainance releases. We only have had one major release of perl5 since the perl6 project started, and that was in July 2002 with the release of 5.8.

I also encounter people that wonder what's happening with Perl - but those are people that use a large toolbelt, of which Perl is one of the tools. They're aware of perl6, but they don't really care about that. They do wonder about the slow pace perl5 is moving forwards. For the majority of the perl users, their only interaction with perl development is the release of new versions. That's what gets noticed.

Do you think it fair to characterize this as FUD?

jordan on 2006-11-20T03:18:06

So he says (I'm paraphrasing from memory), "At my shop (a medium-sized investment bank) the amount of Perl that people are writing is really going down. People are writing a lot of JRuby and JPython because the Java libraries have gotten so much better and Perl 6 hasn't come out."

I tend to think of FUD as malicious. This guy was just giving you the scoop from where he sits, sounds like it might have been a soliticited comment.

Not every opinion we might find troubling is FUD.

In your defense, you later said something about coping with FUDishness. The comment above may not be FUD exactly, but it might share many elements with FUD and need to be addressed in the same ways.

What's perl6 got to do with it?

perrin on 2006-11-20T22:09:14

Perl5 is doing great. The regex engine just got a major overhaul, fixing long-standing bugs. It's very stable and very widely ported. It's very fast (unlike Ruby). People have built great libraries for it to do all those enterprisey things like object-relational mapping. It runs the whole front-end for amazon.com, and large parts of the Yahoo backend, among others. In short, I don't see any reason to worry about when Perl6 might arrive, since Perl5 compares so favorably with the other options discussed (Python, Ruby, Java).

My general response

Alias on 2007-05-14T08:56:33

"Yes, I hear that people are hearing that Perl is dead.

It's a little odd because the same number of new commercial projects seem to be happening, it's just that there's less good people around now.

Which is great for me as a Perl programmer, since the rampant demand for Perl programmers means that salaries are amazingly good at the moment.

That's a bit of a long term problem, but it means good times for Perl coders."