Why Perl?

At Shutterstock we use Perl, and have built our industry-leading website using a Perl and open source stack.  Here’s some reasons we love Perl and why developers feel fanatical about Perl!

Perl Programmers love their language. For most Perl programmers, using Perl is more than a job; it’s part of one’s identity.  When using Perl I often feel like I am part of something greater than the individual code I may be writing at this temporal moment.  Objective studies seem to validate this anecdotal experience.

True Freedom. Perl is free software / open source software.  This means I can always find the source code and often can find the core developers in charge of some code.  I never need to worry about when some company is going to service my bug ticket, and I am never hostage to the changing whim of corporate strategy.   Because of this true freedom the Perl community is completely in charge of itself and has spent years doing the hard job of self-organizing and learning to coordinate our long-term objectives.

Great Community. Since Perl programmers know that the future of our language is solely in our own hands, this has fostered a strong sense of community and shared destiny.  This is not to say we live in a sort of new Eden; certainly there are arguments and differences of opinion.  However, our willingness to respect those who prove their point with code and not just words enhances our contentious meritocracy for the benefit of all.

CPAN. Quite simply there is nothing like it, and it gets better all the time.   With Perl you have one command to access literally tens of thousands of open sourced modules, covering everything from the quirky to the religious to the serious.  Additionally, CPAN is more than just the free modules; its ecosystem includes a distributed delivery system as well as a test collection framework (more than 16 million tests collected across a variety of platforms and Perl versions).

Awesome Tools. Although it goes without saying that my CPAN comment above would cover this, I think it is worth a shout out to a few of my personal favorites, without which I might have left the Perl community years ago.

  • Moose and the extended MooseX software ecosystem.  Simply the best way to model objects in Perl or any other language as far as I am concerned.
  • Plack.  This creates a strong foundation for web application building in Perl that is easy on developers, straightforward to deploy and encourages an unprecedented level of cooperation between all the different frameworks for authoring dynamic websites.
  • Perlbrewlocal::libModule::Install.  A great tool-chain for developers to organize, code and distribute applications.
  • Test::*.  Perl just has the best and most developer friendly testing code.  No surprise we have such a strong, test-centered culture!

Awesome Third Party Support. Want to connect to Twitter?  Access Facebook?  Search with Google or Bing?  Want to deploy or manage your EC2 clouds?  Or maybe you like Rackspace?  Maybe you love Github?  Or you are using a Platform as a Service provider like Dotcloud or Stackato for easy deployment?  Perl has you covered for this and much, much more!

Jobs. Shutterstock.com is always looking for awesome Perl developers.  In addition, Perl jobs tend to be very developer-centered.  The best Perl developers are often respected within their companies.  My personal experience as an IT worker has been significantly better than the average of my peers in other languages.  As a Perl developer, I have never interviewed and been hired into a job that I regretted or didn’t like at a later date.

Resources