[Vlaanderen] Modern Perl rss feed: PERL is dead. Long live Perl.

ddn123456 ddn123456 at gmail.com
Wed Apr 15 03:54:16 PDT 2009


  Sent to you by ddn123456 via Google Reader: PERL is dead. Long live
Perl. via Catalyzed.org by Jay Kuri on 4/15/09
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."



This last scene is probably familiar to you if you have proposed Perl
as a solution to a software problem in recent years.
Perl is a forgiving language, especially compared to the languages
commonly available for web development in the mid 90s, which is the
reason it was chosen for those initial web projects. You could get
started without the need for a full understanding of pointers and
memory management. If you forgot to initialize something, the result
was not a seg-fault or other failure. Perl required less discipline to
get started with and was more tolerant of bad code.

The cowboys of the mid 90s cut their teeth on PERL forum postings and
Matt's Script Archive. They have, unfortunately, left a legacy. That
legacy is horrible, unmaintainable code. Many of those cowboys have
gained real skill with development since then. More have simply
migrated to other languages to write bad code. Unfortunately, the names
of those cowboys is not visible every time that code is looked at, but
in every one of those files, at the very top, is some variation
of '/usr/local/bin/perl'
So Perl as a language gets the reputation for this pile of code left
behind by the cowboys of the early Internet. Fortunately for those of
us who develop in Perl, those days are over. The newer languages such
as PHP and Ruby have taken over the 'newcomer to web development' slot
as far as the buzz engine goes. So the cowboys of today are generating
horrible unmaintainable code in other languages.
Because of it's reputation as a dead language though, Perl lost it's
appeal as a buzz-worthy language. This reputation has cost Perl many
new adopters and over time has boiled down the Perl community
significantly.
Today, you don't code in Perl because you want blog cred. You code in
Perl because you want to get things done. This is the reality of Perl
development in 2009. There are a lot of people writing in Perl today
who have come through it, who have been around the block and are
long-since tired of re-creating the same solutions over and over. These
programmers are the ones working in Perl today. They are the ones
uploading modules to CPAN 400+ times per month.
These developers are people who are excited to do new things, who hate
repeating themselves, and who want to do as much as possible in as
short a time as possible. They don't want to waste time solving the
same problem again. They want to create a module that is flexible
enough to handle this problem the next time they encounter it, even if
it is slightly different, or better yet, use someone elses module. They
want to move on to the next interesting problem, they want to make
their software more flexible so they can do more with less.
Projects such as Moose, DBIx::Class and Catalyst are evidence of this
new life of Perl. Perl is no longer a language of cut-and-paste
unmaintainable line noise. Today's Perl is a language of great power in
a small space. It is a language whose devotees are focused on getting
things done, on exploring new concepts and better methods of doing
things. Today's Perl developers have eschewed the NIH (Not Invented
Here) build-it-yourself mentality in favor of a FAI (Find And Improve)
mentality.
The result of all of this is a renaissance in the Perl community. A
vitality which, though not new, is more pervasive, more lively and more
externally visible. It is reinforcing that Perl is a language that is
fun and exciting to work in; that Perl is a language where even those
with years of programming experience can learn new things and where new
things to all languages are being explored. Perl's reputation as a bad,
dying language has long outlived it's time. It's time we bring a new
message about Perl to the world at large.
PERL is dead. Long live Perl!
So, how do we communicate this message? The answer is simple - we speak
about it. This is the reason we created Catalyzed.org. We all know what
good Perl looks like. We know the successes we've had. It's time to
share them.
Drop us a line at ideas at catalyzed.org, add a comment below, or pop
over to our ideas site: http://catalyzed.ideascale.com/. Tell us about
your successes. Share with us your favorite pet CPAN modules. Drop a
line about a little gem of code that does something amazing. We'll
share it with the world.
Things you can do from here:
- Subscribe to Catalyzed.org using Google Reader
- Get started using Google Reader to easily keep up with all your
favorite sites
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/vlaanderen/attachments/20090415/ef3f8b0c/attachment-0001.html>


More information about the Vlaanderen mailing list