Friday, 10 January 2014

Background of Perl

According to wikipedia, perl is a "family of high-levelgeneral-purposeinterpreteddynamic programming languages. The languages in this family include Perl 5 and Perl 6

high-level: has strong abstraction from the details of the computer 
general-purpose: to be used for writing software for a variety of applications
interpreted: uses an interpreter to execute the code
dynamic: code execution is at run time rather than compile time

Exciting stuff... Here's some more interesting (I hope) information:

In the short time I've been using perl, I've always wondered where the name actually comes from. I found out that Larry Wall, the creator of Perl just wanted an easy to remember, short word with a nice, positive connotation. It's that simple. Apparently he went through every short word in the dictionary before settling on "Pearl". He then realised before the official release that there was in fact another programming language with the same name already in existence and promptly changed it to the spelling we all know and love - "Perl".

Perl also has a backronym associated with it (making up a phrase to go with the letters of the word):

Practical
Extraction and
Reporting
Language

I've also discovered that Perl was invented in 1987, before I was born, which definitely excuses me for being way behind.

Perl is notorious for the ever lengthening time between releases with the last full release being in 1994. In 2000, Larry Wall took suggestions from the perl community for the development of Perl 6 and created documents called "apocalypses" which showed the changes and proposed design based on these suggestions. From what I see, Perl 6 is still just theoretical although there are implementations of it based on the apocalypses. So I guess we're still waiting. Meanwhile Perl 5 is still being updated and at the time of writing, the latest stable release is 5.18.1.

5 comments:

  1. Thanks for reminding me that Wikipedia needed to be updated for the 5.18.2 release :-)

    ReplyDelete
  2. Haha, guess I shouldn't take all my info from wikipedia!

    ReplyDelete
  3. > Perl is notorious for the ever lengthening time between releases with the last full release being in 1994.

    Ooo be careful here. You should view going from 5 to 6 as a full release. In fact many would say Perl 6 is a different language from 5. Remember your quotation at the beginning that said, "The languages in this family include Perl 5 and Perl 6"?

    As you noted 5 has continued to be developed and there are full releases of Perl 5. 5.17.0 came out in May 2012 and had at least 10 minor updates. (5.17.10, although I see mentions of .11 and .12) 5.18.0 came out in 2013 and that was the last MAJOR release. Perl 5 has been pretty consistent with major releases over the last several years. Check out (the slightly out-dated) http://perldoc.perl.org/perlhist.html

    ReplyDelete
    Replies
    1. @Michael: I agree that calling Perl 5.0 the last "full release" of Perl is misleading. But your information is slightly misleading too.

      Perl 5 has a major release every year (sometime in the spring). The current major release is 5.18.

      Since Perl 5.6 (in March 2000) only even numbers in the second number should be considered as major releases (5.6, 5.8, 5.10, 5.12, etc). The odd-numbered branches are development releases. For example, currently the 5.19 releases are what will become the 5.20 release in a few months time.

      The Perl 5 Porters aim to have a new development release every month or so - which is why development minor release numbers often get much higher than production minor release numbers.

      Delete
    2. Ah Thanks Dave! I had the feeling something wasn't quite right with what I was saying but I couldn't remember what.

      Delete