Application Development: 25 Reasons Why Perl Keeps Rising in the Enterprise
25 Reasons Why Perl Keeps Rising in the Enterprise
by Darryl K. Taft
Perl Comes off the Wall
Perl was originally developed by Larry Wall in 1987. Version 1.0 released to the comp.sources.misc Usenet newsgroup on December 18, 1987.
Originally the only documentation for Perl was a single man page. In 1991, O'Reilly published Programming Perl (the "Camel Book") which became the de facto reference for the language.
The Active State of Perl
ActiveState was the first company to introduce Perl on Windows in 1997.
Theres More than One Way to Do It
The Perl language is intended to be practicaleasy to use, efficient, completerather than beautiful (tiny, elegant, minimal). According to Larry Wall, Perl has two slogans: "There's more than one way to do it," commonly known as TMTOWTDI. The other is: "Easy things should be easy and hard things should be possible."
Check the Linguistics
Wall was trained as a linguist, and the design of Perl is very much informed by linguistic principles. Examples include:• Huffman coding (common constructions should be short). • Good end-weighting (the important information should come first). • A large collection of language primitives.
Support for Text
Originally developed as a general-purpose Unix scripting language, Perl now provides powerful text processing facilities without the arbitrary data length limits of many contemporary Unix tools to facilitate the easy manipulation of text files.
Perl Is Sticky
Perl has proven to be important for Webmasters, system administrators and programmers whose daily work involves building custom Web applications or "gluing programs" together. Hassan Schroeder, Sun Microsystems' first Webmaster, said of the language: "Perl is the duct tape of the Internet."
Whos Down with OOP?
Perl does not enforce any particular programming paradigm (procedural, object-oriented, functional and others) or even require the programmer to choose among them.
Perl Is Multiplatform
Perl applications run on Windows, Mac and Linux, as well as big iron systems such as Solaris, AIX, HP-UX and legacy systems such as OS 400, OS/2, VMS, BDS and many others.
Perls Recent Release History
Perl 5.6 - March 22, 2000 Summer 2000 - Development of Perl 6 was announced. Attempts to change Perl 5 in any major way were forthwith redirected to the Perl 6 project, as Perl 5 was now supposed to go into maintenance mode. Yet no one knew at that time that even 10 years later Perl 6 would be in no position to replace Perl 5 for the vast majority of its users.Perl 5.8 - July 18, 2002 Perl 5.10 - Dec 22, 2007 Summer 2009 - Jesse Vincent sets up release schedule, eventually takes over Perl Pumpking (Perl Development Manager), credited with re-energizing and focusing Perl improvements.Perl 5.12 - April 2010
Perl 5.12 Is the Latest Perl Release
Pearl 5.12 highlights include: Perl's time functions work beyond the year 2038. With previous versions of Perl for 32-bit Unix systems, it could only represent dates up to the year 2038, after which it wraps around back to 1970. It is especially important for financial services organizations that use Perl for applications such as mortgage and insurance contracts that run for 30 years or longer. This has been updated within the internal functions of 32-bit Perl 5.12.
Improved Unicode Support
Perl 5.12 now supports all Unicode properties for developers doing globalization work in multiple languages. It includes all the synonyms, loose spelling rules for property names and values, and other areas that have been brought in sync with the corresponding Unicode specification.
Support for Pluggable Keywords
Extension modules in Perl 5.12 can now cleanly hook into the Perl parser to define new kinds of keyword-headed expressions and compound statements. The syntax following the keyword is defined entirely by the extension. This feature facilitates the development of DSLs (domain specific languages) within Perl by allowing a completely non-Perl sub-language to be parsed inline, with the correct ops cleanly generated. This feature is experimental and may be removed.
Perl in the Enterprise
Perl is used in virtually 100 percent of the Fortune 500, in a wide range of mission-critical systems. Some major customers of ActiveState, the major commercial vendor supporting Perl, include: CA, Goldman Sachs, Boeing, Lockheed Martin, GE Aviation, Credit Suisse and Bank of America.
Perl is one of the three P'sPerl/Python/PHPin the LAMP stack. It is often used for: "gluing" programs together, extracting and integrating information between disparate repositories, graphics programming, system administration, network programming, applications that require database access, CGI programming on the Web.Other uses for Perl include developing games and managing high-volume, high-content Websites.
Perl Built into Popular Operating Systems
Perl is included in the default installation of popular operating systems except Windows.
ActivePerl Makes Perl Easier
ActivePerl comes with PPM (Perl Package Manager) repositories to allow quick install and management of popular Perl modules without the need of compiler and make tools. ActivePerl comes with PPM repositories for all major platforms (Windows, Linux, Mac OS X, AIX). ActivePerl comes with preinstalled extra modules especially useful for IIS applications.
Popular Perl IDEs (Integrated Development Environments)
Perl Is Extensible and Flexible
Examples of Perl's extensibility and flexibility include the Moose object system, which is quickly becoming the de facto standard; the Catalyst web framework; the DBIx::Class Object/Relational Mapper; and the Perl Web Server infrastructure provided by Plack.
Perl Is in the Top 10
Perl ranks among the Top 10 most popular computer languages. According to the April 2010 TIOBE Programming Community Index, Perl ranked 8th behind C, Java, C++, PHP, Visual Basic, C# and Python, in that order.
According to ActiveState, there are more than 200,000 ActivePerl downloads each month.
Next Major Release: Perl 5.14
The next major stable release of Perl will be Perl 5.14, which is scheduled to be released within about one year. According to Jan Dubois, a Perl developer at ActiveState, major Perl releases used to happen every two years: 5.005 in 1998, 5.6 in 2000, 5.8 in 2002. Then it took five years to get to 5.10 in 2007 (5.7 and 5.9 were internal development tracks).
Perl 6 is a sister language, part of the Perl family. Perl 6 is not production-ready yet. However, developers can get involved with its development through the open-source process at http://www.perl6.org/.
The Perl Foundation
The Perl Foundation is dedicated to the advancement of the Perl programming language through open discussion, collaboration, design and code. The Mozilla Foundation is one of several sponsors of the Perl Foundation, and Slicehost provides hosting for the Perl Foundation.
Embedded in Apache
Perl can be embedded into Web servers to speed up processing by as much as 2,000 percent, mod_perl allows the Apache HTTP Web server to embed a Perl interpreter.