Perl is dead! Long live PROPERL!

chrisv on 2009-03-30T10:33:07

Update 20090424chrisv: ProPerl.org now redirects to EnlightenedPerl.org as they basically have the same goals.

Thank you for your attention. This is a rant. A long one. If you love Perl just like I do and you want it back on its feet as the good (or best) choice for professional software development, please bear with me and read on. If you don't want to invest in Perl anymore for your future and you think all is lost, please move out of the way.

Ok, here I go. Hold on and please keep reading. It's really important.

I'm sick of hearing that "Perl is dying" and to have to observe how the share of Perl in the programming community is diminshing in favor of other dynamic languages like Python and Ruby, in all sorts of areas: books published, novice programmers adopting Perl, share of Perl on open source repos and major conferences, etc.

What I'm even more sick of is having such a difficult time finding local Perl programmers to work with me on professional projects, let alone customer-friendly and experienced analysts to go help customers out onsite.

I've seen lots of colleagues in my part of the world (Belgium) simply leave Perl behind as a professional languague and jump ship to more "popular" ones like PHP, Python, Ruby and even ASP.NET. None of them came back. Perl is clearly not where the money is anymore.

If you really really want to keep on making money with creating software in Perl, it seems you have no choice but to join the few listed powerhouses like Booking.com that were built on Perl a decade ago and have too big an investment in it to even consider another, more programmer-friendly programming language even if they wanted to, or move to South-California to hook up with a startup that was created out of stuff that Bradfitz or Ingy wrote [1] or stubbornly go into the consulting business and try to get Perl contract jobs, in which case you end up just keeping old Perl 4 stuff running most of the time. I wish you good luck finding a Perl contracting job if you live in Belgium BTW.

But what made me want to finally stand up and DO something was Louis-David Mitterand's post on the modperl mailinglist a few days ago which he titled the "decline and fall of modperl?" [2]. What ensued was a fantastic thread, with feedback from both the older and new generation of perl programmers, but most importantly: from recruiters (!).

What I got from this thread, from many previous rants about the would-be demise of Perl (based on sales-figures, opensource repo-stats and the like), as well as from the seemingly neverending deathmarch that is Perl6 (and the resulting fatalistic nihilism of many Perlers), is that there is nothing wrong with Perl, but that there is a problem with its perceived image, and the hippie-mentality of its community.

I am kicking around right now, and I'm gonna step on lots of toes. I know this. Some people will probably also think I'm a complete nitwit and say I don't know what I'm talking about. I don't care about them (although I will probably allow their hurtful words get to me personally, but I am prepared to stand up to that). I don't want to be the popular guy. I care about Perl and I don't see anybody in the Perl community stand up and say that we need to do something (although Matt Trout came very close when we talked about Enlightened Perl [3] during the Belgian Perl Workshop). I'm in a stage where it's all or nothing. If this doesn't work, at least I will have tried and done what I could as a member of the Perl community before I hike up my pants and move on. My ego and popularity is nothing compared to the potential loss if we don't act now and try to save Perl from obscurity and neglect. Because let's face it: Perl is never going to die, just like COBOL is never going to die. I'm sure COBOL once was in the same situation Perl is in now.

I want to make an attempt at rallying people to get real, wake up and smell the coffee. Because there are basically 2 types of people: a very small percentage that doesn't care what other people think and simply use what they consider the best tool for the job (which is, as we all know, Perl). This small majority has the luxury of not caring what other people think because they don't have any responsibilities beyond themselves. Then there is the other type, which makes up most of us. We look around, see and hear, and adapt to the change around us. We do this to survive. On both a financial and social level. Again: Perl is not where the money is anymore.

Now, if Perl wants to remain a viable way of building both great products and allowing one to make a living of it, we need new blood. Lots of it. And fast. We need new projects. Major projects built in Perl. They will convince those people that look around and observe change that Perl is, indeed, great. That people are actually using it to build great things with.

This is becoming a long rant. Please bear with me a little longer. I'm almost there.

To let Perl shine and attract people and projects, we need to lock down on the freedom a bit. We need to step back and describe in one (1) single clear and lucid way of how you go about building great stuff in Perl. We need to carefully pick a single toolset, sex it up, document it towards normal people, and market the hell out of it in all ways possible. The most efficient way being building cool and highly visible products with it.

So what I did (because nobody else has AFAIK) is set up a project called PROPERL that proposes and aims to popularize the idea that there should be one — and preferably only one — obvious way to do it in Perl in order to make it more accessible, adoptable and maintainable. If this sounds like The Zen of Python, it's because it is. I realize this is utter blasphemy towards the basic notion of TIMTOWTDI, but I don't want to wait voicing my heresy until I'm almost dead like Darwin. It will be too late by then.

So if any of this makes any sense to you, please head over to the PROPERL wiki [4] and subscribe to the Google Group [5].

I've also set up a twitter account to log all progress as we go along [6] - please follow, and I will make sure that you're followed back, because that is the curteous thing to do ;-)

If on the other hand all of this does NOT make sense to you, please don't start nitpicking on things I've written here. If you can't say anything constructive, I'd rather that you didn't say anything at all, because you won't be helping at all.

Please join me in giving Perl a good ass-kicking. It needs one badly. If you really love Perl, you know this can't go on and you know it needs some tough love. It's hard, but it really needs to be done.

I'm all ears for all your suggestions at chrisv(at)cpan(dot)org. But maybe instead of mailing only me, put your suggestions and (constructive) critiques on the PROPERL google group [5] - that way everybody can chime in.

Let's RIDE the Camel!

Thanks for reading this. Really appreciate it.

All the best -- @chrisv

[1] Socialtext, Livejournal, Vox, ...
[2] http://mail-archives.apache.org/mod_mbox/perl-modperl/200903.mbox/browser
[3] http://enlightened.perl.org
[4] http://PROPERL.org
[5] http://groups.google.com/group/PROPERL
[6] http://twitter.com/PROPERL


How does PROPERL improve on Enlightened Perl?

nicholas on 2009-03-30T10:58:36

although Matt Trout came very close when we talked about Enlightened Perl [3] during the Belgian Perl Workshop

If Enlightened Perl is close, where does it go wrong, where PROPERL goes right? It's not clear from your explanation/manifesto.

Re:How does PROPERL improve on Enlightened Perl?

chrisv on 2009-03-30T11:22:26

I did not mean to imply EP goes wrong in any way; it doesn't have the same goals as PROPERL does, that's all. I fully applaud EP and its team and I am already a supporting (paying) member too.

The goals of EP are listed on their website (http://www.enlightenedperl.org/) and I think it's a fantastic initiative. But they don't go as far as fixing their efforts to a completely "definable" toolset, which is the ultimate goal of PROPERL.

Does this make sense for you?

Re:How does PROPERL improve on Enlightened Perl?

Denny on 2009-03-30T11:27:57

[EPO] don't go as far as fixing their efforts to a completely "definable" toolset

I though they did. Isn't that what Task::Kensho is?

Task::Kensho no good?

Denny on 2009-03-30T11:39:22

[EPO] don't go as far as fixing their efforts to a completely "definable" toolset

I thought they did. Isn't that what Task::Kensho is?

Re:Task::Kensho no good?

Denny on 2009-03-30T11:40:58

Sorry for the duplicate - I got randomly logged out trying to post the first one and it didn't look like it had posted.

Re:Task::Kensho no good?

chrisv on 2009-03-30T11:50:30

Thanks for pointing this out to me, Denny. Just read up on Task::Kensho

Task::Kensho is a first cut at building a list of reccomended modules for Enlightened Perl development. CPAN is wonderful, but there are too many wheels and you have to pick and choose amongst the various competing technologies.

The plan is for Task::Kensho to eventually morph into an actual perl distribution.

The modules that are bundled by Task::Kensho are broken down into several categories and are still being considered. They are all taken from various top 100 most used perl modules lists.

Maybe there is a big overlap after all. Meanwhile, Matt Trout contacted me about PROPERL & EPO and suggested we work together on this instead of going both our seperate ways. Am considering to accept his offer.

-chrisv

How about ProPerl?

autarch on 2009-03-30T14:23:58

I think you'd get more interest if you didn't spell it "PERL". Yes, I'm serious.

Re:How about ProPerl?

grink on 2009-04-02T08:36:45

Second, PERL looks weird to me (especially since lots of people go out of there way to say "perl or Perl not PERL")