Your Ad Here
 
| | | | |
RSS Email
 
 

Perl Experts - Why They Are Passionate About Perl

Posted at 07:06PM Dec 12, 2007 by Naveen Bala

AddThis Social Bookmark Button

Popularity of a language at the end of the day, comes down to the passion of the user community. A passionate and vibrant community helps language adoption and help increase its popularity. We wanted to talk to a select few experts, people who are experts in the language and ask their opinion. This is Part 1

Let me introduce you the Perl experts (if you dont know them already).

brian d foy (he is very particular about his name) - Publisher and editor of The Perl Review, co-author of books on Perl including Learning Perl and Intermediate Perl, founder of Perl Mongers, and a veteran of the Iraq War. His website.

Rafael Garcia-Suarez  - Current pumpking for Perl 5. He is a French software engineer and Unix system administrator, who lives in Lyon, France, with his wife, his kids and his goldfish. In his spare time, he contributes to the Perl programming language. His blog.

Greg McCarroll - His interests include distributed computing, web 2.0, america, perl. Here is his CPAN modules. (Author to Greg: Please complete your biography todo in drinkbroken). His website, his blog.

Frank Wiles - Co-author of the book Instant Perl Modules. Current maintainer of the Apache::DB, Apache::DProf, and Apache::SmallProf CPAN modules for debugging and profiling mod_perl applications. His blog.

Zbigniew Lukasiak - Perl and User Interface consulting. Manages Perl Alchemy. His other blog.

Bill Ward - Teaches Perl Programming for Bay View Training and at De Anza College.

Q: If you were to start afresh, would you learn Perl again?

brian: Certainly. Any good IT person should have a range of tools to choose from. Perl is an incredibly useful language and I do quite a bit of work in it. I don't recommend it for every task, but I recommend it for a lot of tasks.

Besides that, computer languages are really human languages. We use computer languages first to express our intent to other humans, and after that to instruct the computer to do certain things. Realizing that, not everyone is going to like every language and different people will feel differently about the same language. People should learn several languages to find the one in which they are most productive. That is hardly ever a technological measure so much as a social one, and even the languages someone doesn't like often help them program in the ones they do like.

If it comes down to just getting a good job, a good Perl programmer won't have any problem finding a job. It's wanting the job that you find that is the problem.

Rafael: Yes, most definitively.

Greg: Yes, more than ever I believe that Perl (and scripting languages in general) is a key technology -- for a long time Perl was regarded as a text processing language which was great for 'gluing' text based processes/data together. However, since Perl 5 was sent off into the wild we have seen an incredible growth in CPAN. Meaning that there are now interfaces to a large variety of systems, available in seconds to 'glue together'.

The meta-systems you can create from this can be incredibly powerful and offer benefits either to yourself or your company. And there will be a time where by the building of such systems become a standard by which companies will succeed or fail, we are already seeing PR companies offering services to monitor Google alerts for their clients -- I believe bespoke meta-systems are simply a continuation of this.

To give an example, if you are considering investing in a company why not mine a site like linked-in to discover the staff turnover of the company to give a measure of its stability, this is the sort of task that a glue/data manipulation language like Perl is perfect for.

Frank: Absolutely! In fact, I seriously doubt I would still be programming if it were not for how enjoyable Perl makes developing software.

However, Perl does suffer from a PR problem.  We tend to be a very insulated community, talking amongst ourselves. If I was an aspiring young programmer today, I might be swayed toward other languages such as Python because of this.  It doesn't take running across many "Perl is line noise", "Perl is unmaintainable software", "Perl is dead" web pages and seeing praise of Python/Rails online and in major media to make a novice head in another direction.  Irregardless of how misguided those comments might be. When you're a novice you can't as easily separate the wheat from the chaff.

Zbigniew: Yes.

Bill: Yes.  Although it isn't as widely used for Web programming as it once was, it is still the best tool for many other tasks, such as automating Linux/Unix system administration and specialized areas such as bioinformatics (the Human Genome Project uses Perl heavily).


Q:What do you think is the most important feature of the Perl language?

brian: The most attractive feature to me is the Comprehensive Perl Archive Network (http://search.cpan.org). It has over 10,000 freely-available and free-to-use Perl modules for just about any task. This archive has been around since 1995 and if someone has had a problem to solve, they've probably created a Perl module for it and uploaded it to CPAN. 

 Rafael: The CPAN. In other words, the Comprehensive Perl Archive Network, a repository of thousands of reusable, open source Perl modules, that cover almost everything, from DB interface to Web scraping and XML processing.

Greg: CPAN, don't get me wrong it's a great language but CPAN is it's silver bullet. Beyond CPAN, I'd suggest the functional programming aspects that map/grep/sort add in, the funny thing is Perl is no Haskell, Java or Lisp -- it doesn't have a single philosophy to force upon the programmer. It's also not proud, Perl will steal from any language that has a good idea, currently Perl 5 is happily stealing from Perl 6.

Frank: CPAN and the Perl community as a whole are the most important features by far.  Don't get me wrong, Perl is a great language on it's own, but CPAN is Perl's "killer app".  What other language out there has 10,000+ modules of easily re-usable code freely available at your finger tips?

Zbigniew: It's efficient and has lot's of really mature libraries (CPAN)

Bill: The fact that it does not require you to write a lot of "boilerplate" code to get things done - it stays out of your way and lets you get the job done without jumping through hoops.

 

Q: What Perl forums would you recommend?

brian: I'd recommend that Perl newcomers check out http://learn.perl.org.

Rafael: I don't use many forums besides specialized mailing lists. use.perl.org and perlbuzz.com are news sites that I follow.

Greg: I'd always recommend the local Perl Mongers usergroup, I'm blessed by living in London and being able to meet up with London.pm regularly, but there are local usergroups world wide, and they pretty much always go out of their way to welcome newcomers.

Frank: perlmonks.org is the best place to post a random question and receive some guidance.  Then there are the more task specific mailing lists such as the mod_perl mailing list ( perl.apache.org ) which is very active helping new mod_perl users.

IRC channels on irc.perl.org and irc.freenode.net are also great sources of help.

Zbigniew: PerlMonks and Perlbuzz and of course mailing lists for the libraries.

Bill: PerlMonks.

Q: What book would you recommend to a newbie?

brian: I'm a bit biased, but I like my own books: _Learning Perl_, _Intermediate Perl_, and _Mastering Perl_. There's also http://books.perl.org which lists most Perl books along  with some ratings, and there is a list of recommended Perl books in perlfaq2.

Rafael: "Learning Perl", without hesitation.

Greg: Learning Perl would be the obvious choice, but If I can cheat on this question as soon as a programmer is up to speed with Perl I'd really really recommend they look at MJD's Higher Order Perl -- in some ways I dislike his book as it means that anyone who reads it can in a very small time frame gain the competitive advantage that I had with a degree in computer science.

Frank: Damian Conway's "Perl Best Practices".  While many of the concepts are typically above the level of "newbie", reading over it will spark their memory when they advance to the level of using that particular technique/tool.  Bad habits are notoriously hard to break and not getting into them in the first place is always the best option.  I think this book is essential for newbies, even if they don't entirely understand it. Perl is such a flexible language, which is great, but with that flexibility comes great responsibility to use it appropriately.

Zbigniew: I am sure that the llama and camel books are excellent starting points.

Bill: Beginning Perl . There is also an updated version from Apress: http://www.apress.com/book/view/159059391X

 

Q: Name a programming language that you would like to learn? (if you had the time & resources, of course)

brian: Although I already know Smalltalk, I've been watching the development of Seaside and the next generation of Smalltalk tools and environments closely and hope to be able to do more with those soon.

Rafael: Haskell or any other purely functional language.

Greg: If I had that time I'd go design a language, not from a academic/syntax point of view, I'd simply go around every business that would let me through their doors and ask them about what they'd like to do with a programming language -- I worry that a lot of new languages come from academia and I wonder if there isn't a problem space beyond pure language theory that needs solving, although maybe Excel/Yahoo Pipes researchers are already looking at this problem.

Lastly I'd like to answer the invisible question 6, what website should your readers visit? Well I would recommend http://www.freerice.com/ , they can have some word fun and do something good for those less fortunate.

Frank: Well with Perl I get so much done that I often have time to play with new technologies, but if I had to pick another language to use, it would most likely be Python.  I have many friends in the Python world, and I trust their opinions that it really is a great language.  But honestly, I have never been shown a compelling reason, for me specifically, to leave Perl for other pastures.
Most of the reasons anyone ever cites in the flame wars of PHP vs that, and Rails vs this, etc. are rooted in syntax/style differences.  Programming by convention, forced styling, etc. Personally, I don't see these are compelling reasons to use them.  I can do all of those same things in Perl, it's just up to me to do them, rather than have it enforced on me by the language.

Zbigniew: Ruby, Prolog, Ocaml/Haskell/Erlang

Bill: Ruby (on Rails)


This is part of the "What Makes a Programming Language Popular" series where we compare Perl, PHP, Python and Ruby. See


 

  

Comments:


Post a Comment:
Comments are closed for this entry.
RECENT STORIES

Java - Write Once, Run Anywhere - Where Are We Now

C++ - Still a Dominant Language in Enterprise Development

DNA Not For Sale! Yahoo, Microsoft Culture Chasm

ITIL, SOA, BI, MDM, CMDB, BPM - Hot Acronyms Compared

ITIL, SOA, BI, MDM, CMDB, BPM - IT Loves Alphabet Soup

PHP Experts: Why PHP Rocks

Software Engineer Interested in Game Programming: You will see this More Often

2008 & Back to Work

Labor market weakening - How will the IT Job Market Fare in 2008

Ruby Experts: Why They Are In Love With Ruby/Rails


Archives


Search Corporate/Career Sites
keywords:
location:
Customize This for Your Website

Can You Make More Than Your Brother-in-law?
SkillLocation
Customize This for Your Website