Application Development: 25 Reasons Why Perl Keeps Rising in the Enterprise

 
 
By Darryl K. Taft  |  Posted 2010-04-30
 
 
 

25 Reasons Why Perl Keeps Rising in the Enterprise

by Darryl K. Taft

25 Reasons Why Perl Keeps Rising in the Enterprise

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.

Perl Comes off the Wall

The Camel

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 Camel

The Active State of Perl

ActiveState was the first company to introduce Perl on Windows in 1997.

The Active State of Perl

Theres More than One Way to Do It

The Perl language is intended to be practical—easy to use, efficient, complete—rather 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."

Theres More than One Way to Do It

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.

Check the Linguistics

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.

Support for Text

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."

Perl Is Sticky

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.

Whos Down with OOP?

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.

Perl Is Multiplatform

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

Perls Recent Release History

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.

Perl 5.12 Is the Latest Perl Release

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.

Improved Unicode Support

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.

Support for Pluggable Keywords

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 in the Enterprise

Perl Uses

Perl is one of the three P's—Perl/Python/PHP—in 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 Uses

Perl Built into Popular Operating Systems

Perl is included in the default installation of popular operating systems except Windows.

Perl Built into Popular Operating Systems

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.

ActivePerl Makes Perl Easier

Popular Perl IDEs (Integrated Development Environments)

Padre, the Perl IDE: A text editor that is simple to use for new Perl programmers but also supports large multilingual and multitechnology projects. ActiveState's Komodo IDE: Komodo is an editor for Perl built on the Mozilla platform. It features extensible standard editor functionality, syntax checking and coloring, a regex debugging tool and more. Komodo also has a multilanguage editor and debugger for other languages such as Python, PHP, Ruby, JavaScript and Tcl.

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 Extensible and Flexible

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.

Perl Is in the Top 10

Multiple Downloads

According to ActiveState, there are more than 200,000 ActivePerl downloads each month.

Multiple Downloads

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).

Next Major Release: Perl 5.14

Perl 6?

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/.

Perl 6?

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.

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.

Embedded in Apache

Rocket Fuel