Today marks the 36th anniversary of Perl's first release (wow, happy birthday!). We can't ignore the fact that this programming language is designed to make work easier without turning difficult tasks into something impossible.
In the early phases of its development, it was used to navigate files, scan large collection of information or facts, create and retrieve dynamic data, and output formatted reports based on the data. Later, it became a tool for file processing systems, process management, database administration, client-server programming, web-based data management and even object-oriented and functional programming.
Perl can glue together more than its features. It is designed to be modularly extensible and allows rapid design, programming, debugging and deployment of applications, while also allowing the easy extension of the applications’ functionalities as the need arises.
The language does all that and a whole lot more. But to understand more about it, we need to know its history.
Perl was created by Larry Wall, a system administrator who was working for NASA's Jet Propulsion Laboratory in 1987. There's a lot we can say about him. Beyond his contributions to Perl, Wall is also the author of the UNIX tool rn (short for Read News), which was one of the first Usenet newsreaders.
According to Wall, Perl has two slogans. The first is "There's more than one way to do it" and the second is "Easy things should be easy and hard things should be possible".
Perl's design is a response to three broad trends in the computer industry during this period: declining hardware prices, rising labour costs and improvements in compiler technology. Many of the computer languages known at the time (for example Fortran and C) are aimed to make efficient use of computer hardware, but Perl was designed to help programmers write programs quickly and easily.
Name & logo
An interesting fact is that the original name of Perl was "Pearl". The idea of the creator was to give a short name with a positive connotation. But before the first release appeared, Larry discovered that there is another programming language called PEARL. To prevent confusion or conflicts and inspired by the Unix philosophies for short names, he changed the name to “Perl” without changing its pronunciation. Today the name is often seen as a backronym for „Practical Extraction and Report Language”.
In the first officially published book about the language by O'Reilly Media - Programming Perl, there is a picture of a camel on the front cover and over the years this image became the unofficial symbol or “logo” of the language.
The early versions of Perl were based on the use of existing languages to help manipulate text. Perl 2, released in June 1988, featured a better regular expression engine and a year later Perl 3 added support for binary data streams. Perl 4 went through a series of supporting releases, not to mark a major change, but to identify the version that was documented as well as possible.
Early days of Perl 5
Version 5.000 of Perl, released on October 17, 1994, represented a significant change to the interpreter. This update introduced key elements such as objects, references, lexical variables and acceptance of external reusable modules. This modular approach allowed the language to expand itself without changing the core interpreter. The 5.004 release of Perl includes CGI.pm (Common Gateway Interface), enhancing its role as an early scripting language for Internet. During this period, several Perl-based apps and websites appeared, including IMDB, Craigslist, Bugzilla and cPanel.
Modern Perl 5
On December 18, 2007, version 5.10 of Perl was released, marking the 20th anniversary of Perl 1.0. This release marked the beginning of the "Modern Perl" movement, characterised by the use of the latest features, places a high importance on readable code, encourages testing and relies heavily on the use of the CPAN ecosystem. Perl 5 has embraced modern practices by focusing on Unicode compatibility, JSON support and features for object-oriented coding.
Back in 2000, on July 19th, Larry Wall shared some exciting news at the Perl conference. He expressed an ambitious plan to redesign the language to eliminate the historical specifics of the previous versions and to make it more effective for programmers.
During the years there have been multiple kick-offs and halts in the development of the new version. There have been several implementations of Perl 6, but only one still remains in active development: Raku Perl 6. Since Perl 6 is a specification only (unlike all previous versions), many implementations may emerge... But we’ll see what the future holds.
In conclusion, the intriguing history of Perl suggests that there are exciting prospects ahead, indicating that the language will continue to adapt and thrive in response to the evolving needs of programmers and the industry.