Archive

Posts Tagged ‘Larry Wall’

A Brief History of Perl

June 5th, 2009 2 comments

Perl is older than dirt. Well, actually, that’s not true at all. Perl is older than Linux though. Perl 1.0 was released in 1987, 4 years prior to the release of the first Linux distribution. The creator of Perl, Larry Wall, got a graduate degree in Linguistics from UC Berkeley, and had grand plans to find an unwritten language with his wife Gloria, and invent a writing scheme for it. These plans fell through, to the great advantage of computer science field!

Back in the day, Larry Wall programmed on Unix with the usual suspects, C, sed, awk, shell. He grew frustrated with the options available to him. So he set out to write his own language that took the best from what is avaialble, and left the rest behind. The creation of the first Perl interpreter took the better part of 1987. Wall released the first version on December 17th 1987. Through out the late 80′s and early 90′s Wall released improved versions of Perl untile 1994, when he released Perl 5, that included a complete overhaul on the Perl interpreter. Perl 5 is the version that most current Perl programemrs are accustomed to. It has had several sub-versions released through out the 90′s and the current decade. The current version is 5.10.0.

The Perl community has been eagerly waiting for the next major release of Perl for what feels like forever, but it’s actually only been 9 years. Work on Perl 6 began in 2000. We are still waiting on a proper release of Perl 6. Larry Wall and his team aren’t rushing it. They want to build a worthy successor to Perl 5, and they are taking their time in order to make sure they are doing it right.  Perl 6 has many differences from Perl 5, here is a select few:

  • Optional data typing system – You won’t have specify your types, just as with Perl 5, but in Perl 6, you will have the option to specify your data types
  • Formal subroutine parameter list – The days of ‘shift’ and @_ will end in Perl 6, as C/Java style subroutines will be the way in Perl 6
  • Consistency with arrays and hashes – Where in Perl 5 we declare an array as @myarray, and reference an element in an array as $myarray[0], Perl 6 will maintain the @ symbol for both the declaration and the reference. To access and array element in Perl 6 will be done by: @myarray[0]. The same goes for hashes. $myhash{‘item1′} will become %myhash{‘item1′}
  • Formal object-oriented programming – For those of you stickler who say Perl 5 isn’t object-oriented enough, Perl 6 introduces more formalized object orientation with the use of the world ‘Class’ and everything!

Perl 6 will not be back compatible with Perl 5, though there is supposed to be some sort of compatibility mode included.

Perl stands for Practical Extraction and Report Language, though this  acronym was created as an after thought. Larry Wall wanted a short word for the name of the programming language, one that had positive connotations. He settled on Pearl, but laster found out that there was a real-time focused programming language called PEARL, so he changed the spelling, and it has been called Perl ever since.