Welcome to Catalyzed.org. A site dedicated to sharing with the world what modern Perl looks like, and providing a peek into what's going on in the Perl community.
As you are no-doubt aware, Perl does not have a flattering reputation. People have called it everything from 'ugly line noise' and 'unmaintainable' to the big favorite: simply 'dead.' Perl is alive and well, but to those not in the Perl community it can be hard to see that.
So the question is... If Perl is so lively, how do you reconcile that with it's reputation? How did we get here? And more importantly, how do we make Perl's reputation reflect what we who use it know, namely:
Perl is one of the most powerful and fun languages available with a lively and active community.
Today, we'll take a short stroll down memory lane, to see where this reputation comes from, and catch a glimpse of what modern Perl looks like.
Time: 1995 Where: a barely-known ISP
Scene:
Young coder furiously typing in a green on black terminal.
Window switches to web browser. Page Loads: Matt's Script Archive.
Time: 2003 Where: a little known web development company
Scene:
Programmer talking with his boss:
Programmer: "This code is awful, it really needs to be rewritten."
Boss: "Why? What's wrong with it? We don't have time to rewrite it, I promised we'd have it done by the end of the day."
Programmer: "It's written for PERL 4. It's a complete disaster area. It looks like it was some half-hacked Matt's script. Wait, the end of the day today?"
Boss: "Yeah, just make it work."
Programmer: ".... It won't be done today... I'll try to get it done for tomorrow."
Programmer walks off to try to hack new fields into existing script.
Boss calls client and says: "No, you can't have it today, it's written in PERL and it will take until Thursday to get it done."
Time: Today Where: a small magazine, web site development meeting
Scene:
Executive: "We need to get this site up and running ASAP. You have 8 weeks, get it done."
Web Developer: "We can do that. If this is the complete feature list, we can get it done no problem."
IT director, stunned at an answer of 'OK': "I don't think that's realistic. What are you going to build it on? We don't want an off the shelf CMS."
Web Developer: "It's not, there's a Perl based web framework called Catalyst that we can use that will make this easy."
IT Director (formerly Boss): "We are not building our new web site on PERL. I have dealt with PERL before, it's completely unmaintainable." To Executive: "We'll get back to you."
PERL is dead. Long live Perl!




Nice site Jay. I've commented on your site and the health of Catalyst in my blog post on Catalyst Perl looking good.
Cheers, Peter
http://perl.dragonstaff.co.uk
Good luck with your site! Every addition to the Perl blogosphere and Perl publicity would be appreciated. I think I'll start a page in perl.net.au concentrating Perl blogs.
You may wish to follow my technical blogs where I blog about Perl often, and publish the posts here, if you find them worthy of being mentioned.
People where not using green terminals in 1995. Green terminals were a thing of the 80s. In 1995 everyone was using Pentium or AMD running Windows 95 or Linux for ISP servers.
CDR: I know... I actually used them. :-) I meant a Terminal Window... remember the Windows 95 Terminal window?
I think this is a rose-tinted history. Some people did claim that Perl was easy to learn, but this was a lie unless you were already familiar with Unix shell scripting, languages completely unintuitive to newbies.
The more honest selling points for Perl were always the ones you call contemporary- "There's a gazillion scripts already out there, we don't need to write our thing from scratch" was one. The other was "Perl is open source, the community is friendly and people will help you out." These arguments are increasingly true of Perl's competition (languages with more intuitive syntax) and so going forward I think we can expect to see more programmers gravitating to them.
IMHO you can't fairly blame newbie programmers for the unmaintainable Perl code; Perl is more tolerant of bad programming style more than other languages and this propensity wasn't helped any by programming textbooks which reinforced bad habits. Python and Ruby are going to pick up newbie programmers now faster than Perl and this is where rumors of Perl's death come from.
IMHO Perl went on life support when the Graymatter blog software stopped being maintained and most of Web 2.0 grew up on Perl's competition.
logomachist, I have to respectfully disagree. Perl is not more difficult to learn than any other language. A bit more daunting for those who have not programmed before, I'll agree, but once you get over the fear of sigils, it's really pretty straightforward.
Regarding selling points, note that I did not mention 'a gazillion scripts'. I noted CPAN modules. CPAN modules are packaged, well documented and well tested software components, with a clear purpose and a clear maintainer. The 'gazillion scripts' (aka Matt's Scripts) were exactly what I was indicating as a major cause of Perl's reputation.
Ruby is definitely picking up more newbie programmers now than Perl is, in no small part due to the reputation Perl has garnered due to what I described in the article. Before Ruby, it was PHP (still is to a large degree). I know that Python has it's followers, but I have yet to see it threaten to take the 'new to programming' #1 language spot. Personally, I wouldn't wish that on the language.
In any case, the point of the article is that Perl is alive and well, but unless you are in the Perl world, it can be hard to see that. It's our goal to reveal more of the world of Perl as time goes on. Keep your eyes open, There's more to come.
I'm going to have to disagree as well, logomachist. Have you ever looked at the Graymatter code? I have, and it was a disaster five years ago, an example of a lack of discipline. If it's the standard to which you hold Perl code to judge quality, then you need to seriously reevaluate your standards.
All programming languages (including Perl) are by definition unmaintainable, e.g. without the right tools, without qualified experts, without the will to survive, you can pretty much forget it. What makes Perl an interesting alternative compared with other languages is when one can combine successfully the advanced tools available, eager and top-notch developers, and just as important a healthy mind-set. This unique mix can go along ways when riding the waves of something like Moose, Catalyst or whatever.