Home » GeekSpeak » Perl Programming

Perl Programming

I’ve been programming in Perl since the late 1990’s.  It’s not the only language I program in, but I’ve always thought of it as an important tool in my toolbox.  It’s a rock solid language, that works as both a procedural language as well as an object oriented language.  What also makes Perl so awesome is its gigantic CPAN library.   There is a Perl module for just about anything AND it is easy to install any module.

Over the last few years, Perl has been getting a bad reputation by developers who use competing languages.  I figured I’d take a moment to dispel some of the nasty rumours.

1- The complaint I keep hearing is that Perl is difficult to read.  

If you’re a software developer, you should be able to read code in most programming languages without to much difficulty.  Perl is no exception.  Sure, you may not know some of the syntax or tricks or special nuances of the language, but you should be able to follow the code.  EVERY language has little things/tricks/syntactical oddballs that make it difficult to the uninitiated.  Take I/O in Java or lamda in Python.

Perl is no more difficult to read then any other programming language, and if something confuses you, either google it, or check out the Perl documentation (which is usually better then most other language documentation).  This is nothing different then what you’d have to do in any other language.

2- The second stupid statement I hear is that Perl code is difficult to maintain.  It shouldn’t be used for projects more then n number of lines.

This is silly.  I have personally worked on Perl code thousands and thousands of lines long.  I have maintained all kinds of legacy development done in Perl, as well as new development.  Like in any other language, sloppy code is difficult to maintain.  The fact that something is written in Ruby or Python doesn’t mean that its easier to maintain.

3- Perl hasn’t come out with a new version in years.

Statements like this are just ignorant.  Here are the current releases and associated dates.  You can get a complete list here

5.9.0         2003-Oct-27     The 5.9 development track
5.9.1         2004-Mar-16
5.9.2         2005-Apr-01
5.9.3         2006-Jan-28
5.9.4         2006-Aug-15
5.9.5         2007-Jul-07
5.10.0-RC1    2007-Nov-17
5.10.0-RC2    2007-Nov-25

5.10.0        2007-Dec-18

5.10.1-RC1    2009-Aug-06     The 5.10 maintenance track
5.10.1-RC2    2009-Aug-18
5.10.1            2009-Aug-22

5.11.0        2009-Oct-02     The 5.11 development track
5.11.1        2009-Oct-20
5.11.2        2009-Nov-20
5.11.3        2009-Dec-20
5.11.4        2010-Jan-20
5.11.5        2010-Feb-20
5.12.0-RC1    2010-Mar-29

http://www.perl.org/pub/2010/04/inside-perl-512.html

The largest change in Perl 5.12 isn’t code. It’s the new release schedule. Perl 5 now has monthly development releases on the 20th of every month. Perl 5.13.0 is almost out, as of the time of writing. These monthly releases are snapshots of the development process. They represent points at which people interested in what will become Perl 5.14 can test against their most important code.

The current plan is to release Perl 5.14 in a year. Sometime around March, the release manager will put together release candidates and start the countdown for final testing and release blocking bugs. The process will repeat.

The complaint is that Perl 6 isn’t out yet. My answer is: It’ll get there. Beta and test releases are already available: http://rakudo.org/announce/rakudo-star/2010.07

perl-and-python-hackers.png

Perl and Python hackers compared

Leave a Reply