The Perl Programming Language Turns Twenty-Five
The Perl programming language turned twenty-five years old this past December. Version 1.0 was publicly released on December 18, 1987, by its creator, Larry Wall. The Perl Foundation's twenty-fifth anniversary post takes a detailed look at the major elements of the Perl ecosystem and the milestones the language has passed along the way.
Perl is arguably the first general purpose scripting language and certainly the one that popularized the concept as we know it today. Its choice of constructs that are useful to and make sense to human programmers—as opposed to ones that map neatly to underlying machine instructions—is characteristic of the scripting languages.
A linguist by training, Larry Wall explicitly chose to design Perl along the lines of a natural language, leading to a programming language that is concise, expressive, flexible, and powerful.
The Perl community has been the source of several other firsts. CPAN, the first centralized repository for programming language modules, has been called Perl's killer app. It contains more than 110,000 modules, addressing almost every conceivable programming task.
When a module is uploaded, its unit tests are run on dozens of different computer architectures by the CPAN Testers. Indeed, the core Perl community has a strong testing ethos. The Test Anything Protocol, the QA Hackathon, and numerous other testing ideas have their roots there.
While Perl has a great deal of historical significance and is a very influential programming language, it continues to evolve and be relevant today. It's extensively used by some of the best-known names on the web—Amazon, IMDb, Slashdot, Craigslist, and the BBC—as well as countless smaller firms.
Perl's well-known strengths—text processing, easy access to system utilities, and its ability to "glue" together disparate software tools, data formats, and network resources into a coherent solution—continue to serve it very well in the current era of webcentric programming. And just as it has exchanged features with other programming languages in the past, Perl continues to integrate good ideas from them to this day.
Programming languages are a culture, not just a collection of software tools. Larry has long appreciated this, so Perl comes standard with cultural norms, collected wisdom, and most of all humor. After all, Larry is the person who famously coined the three principal virtues of a programmer: laziness, impatience, and hubris.
While Perl gets a bad rap because the liberty and flexibility it affords can be used to create horrible, incomprehensible code, this criticism is both refuted (with Damian Conway's book Perl Best Practices) and celebrated (with Perl golf and the ubiquitous JAPH).
On the occasion of its twenty-fifth anniversary, what stories about Perl—past, present, or future—do you want to share?