The Timeline of Perl and its Culture
v3.0_0505

[ 1960s ] [ 1970s ] [ 1980s ] [ 1990s ] [ 2000s ] [ Other URLs of Interest ][ Sources ]


This document lives at http://history.perl.org/. If you see any errors, omissions, have comments or would like to contribute a tidbit for this ongoing mission, email perlhist@history.perl.org.

Copyright


 It's the Magic that counts.
-- Larry Wall on Perl's apparent

ugliness

1960s

1960

Ted Nelson invents hypertext, known as the Project Xanadu. (Fast forward to 1999.)

1964

The concept of pipes connecting processes is suggested by Doug McIlroy at Bell Labs. See http://cm.bell-labs.com/cm/cs/who/dmr/mdmpipe.html. In Perl the same concept is seen in the default variable $_.

1968

Bolt Beranek and Newman, Inc. (BBN) awarded Packet Switch contract to build Interface Message Processors (IMPs). [HIT]

US Senator Edward Kennedy sends a congratulatory telegram to BBN for its million-dollar ARPA contract to build the "Interfaith" Message Processor, and thanking them for their ecumenical efforts. [HIT]

Douglas Engelbart invents the mouse while working at Xerox PARC.

1969

 

 

Unix is like a toll road on which you have to stop every 50 feet to pay

  another nickel.
But hey! You only feel 5 cents poorer each time.
--

  Larry Wall in 1992Aug13.192357.15731@netlabs.com

UNIX is born at Bell Labs. It was not until well into 1970 that Brian Kernighan suggested the name `Unix,' in a somewhat treacherous pun on `Multics,' the operating system we know today was born.

First Request for Comment (RFC): "Host Software" by Steve Crocker (7 April) [HIT]

1970s

1972

Ray Tomlinson (BBN) modifies email program for ARPANET where it becomes a quick hit. The @ sign was chosen from the punctuation keys on Tomlinson's Model 33 Teletype for its "at" meaning. (March) [HIT]

The programming language C is born at the Bell Labs. (The Development of The C Language) by Dennis M. Ritchie). C is one of Perl's ancestors, learn for example how the && and ++ operators were born. Perl is also implemented using C.

1973

grep is introduced by Ken Thompson as a ingenious componentization: the builtin regular expressions and commands of the ed (the standard editor) are separated into an external utility: Global REgular expression Print. [EHU]

1975

Atari introduces the first home video games. Who could forget Pong, Space Invaders or Missile Command?

1976

Steven Jobs and Steven Wozniak found Apple Computer. (1 April)

1977

The computer language awk is designed by Alfred V. Aho, Peter J. Weinberger, and Brian W. Kernighan. awk is one of Perl's ancestors.

1978

BTL (Bell Telephone Labs) releases UNIX V7 which diverges into the commercial (System V) and academic (BSD, Berkeley Software Distribution) branches.

A shell by Stephen Bourne, simply known as the 'sh', is released. sh is one Perl's ancestors.

1979

On April 12, Kevin MacKenzie emails the MsgGroup a suggestion of adding some emotion back into the dry text medium of email, such as :-) for indicating a sentence was tongue-in-cheek. Though flamed by many at the time, emoticons became widely used. [HIT]

USENET established using UUCP between Duke and UNC by Tom Truscott, Jim Ellis, and Steve Bellovin. All original groups were under net.* hierarchy.

1980s

1981

Eric Allman develops Sendmail which will become the most widely used MTA on the internet.

RFC 801: NCTP/TCP Transition Plan which will increase the number of possible hosts from 256 to over one billion.

1982

DCA and ARPA establish the Transmission Control Protocol (TCP) and Internet Protocol (IP), as the protocol suite, commonly known as TCP/IP, for ARPANET.

Sun Microsystems is incorporated with 4 employees.

1983

Desktop workstations come into being, many with Berkeley UNIX (4.2 BSD) which includes IP networking software.

1984

The GNU Project is started to develop a free UNIX-like operating system. The Gnu Manifesto, written by Richard Stallman, sets the stage for the coming OpenSource revolution.

During the third quarter of the Super Bowl, Apple airs the famous Ridley Scott commercial depicting an Orwellian IBM World saved by the Macintosh. The Macintosh featured a zippy 8MHz 68000 Motorola chip, a 9" black and white built-in monitor, 128k of RAM and sold for $2,495. (22 January)

Domain Name System (DNS), originally called JEEVES and later BIND, is developed by Paul Mockapetris, later to be maintained by Paul Vixie.

The first version of the X Window System is developed jointly by MIT Project Athena and Digital Equipment Corporation. (19 June)

NFS is first introduced.

1985

Whole Earth 'Lectronic Link (WELL) started.

awk gets a facelift (introducing user-defined functions, multiple input streams, and computed regular expressions), the new version is called nawk. [GNU awk manual]

RFC 968: 'Twas the Night Before Start-up. [HIT]

Larry Wall creates rn. The RN news reader was developed to minimize the amount of time the user was kept waiting for news articles to be displayed. It did this by using cache techniques. RN was also developed to minimize the use of computer resources when running on computers with limited memory capabilities at the sacrifice of some speed. Its maintainence was passed to Stan Barber in 1987 when Perl took more of Larrys time.

O'Reilly and Associates moves from technical writing to book publishing; the first `Nutshell' books.

1986

Network News Transfer Protocol (NNTP) designed to enhance Usenet news performance over TCP/IP.

Microsoft infec^H^H^Htroduces Windows to the world. (March)

1987

UUNET is founded with Usenix funds to provide commercial UUCP and Usenet access. Originally an experiment by Rick Adams and Mike O'Dell

 

 

Hmm, doubtful. The source code generally wasn't there when I needed

  it.
-- Larry Wall when asked if he learned Perl from the perl

source

Perl 1.000 is unleashed upon the world. Some People take Perls' Birthday seriously. Behold as Randal sings Happy Birthday to Larrys' answering machine. The description from the original man page sums up this new language well. (18 December)

   NAME
          perl | Practical Extraction and Report Language
 

   SYNOPSIS
          perl [options] filename args
 

   DESCRIPTION
          Perl is a interpreted language optimized for scanning  arbi-
          trary  text  files,  extracting  information from those text
          files, and printing reports based on that information.  It's
          also  a good language for many system management tasks.  The
          language is intended to be practical  (easy  to  use,  effi-
          cient,  complete)  rather  than  beautiful  (tiny,  elegant,
          minimal).  It combines (in  the  author's  opinion,  anyway)
          some  of the best features of C, sed, awk, and sh, so people
          familiar with those languages should have little  difficulty
          with  it.  (Language historians will also note some vestiges
          of csh, Pascal, and  even  BASIC|PLUS.)   Expression  syntax
          corresponds  quite  closely  to C expression syntax.  If you
          have a problem that would ordinarily use sed or awk  or  sh,
          but  it exceeds their capabilities or must run a little fas-
          ter, and you don't want to write the silly thing in C,  then
          perl  may  be  for  you.  There are also translators to turn
          your sed and awk scripts  into  perl  scripts.   OK,  enough
          hype.

1988

Internet Relay Chat (IRC) developed by Jarkko Oikarinen. Later #perl (read as pound perl) would appear on EFNet, forming an essential part of Perl Culture. (January)

In the MIT X Conference the Xlib reference drafts by O'Reilly and Associates raise considerable interest and ORA really gets started in publishing business. (January)

 

 

I won't mention any names, because I don't want to get sun4's into

  trouble... :-) -- Larry Wall in 11333@jpl-devvax.JPL.NASA.GOV

Sun releases the SPARCstation 1.

 

 

Tcl tends to get ported to weird places like routers. -- Larry Wall in

  199710071721.KAA19014@wall.org

John Ousterhout writes Tcl or "Tool Command Language".

Perl 2.000 released. (5 June) Some of the enhancements from Perl1 included:

ˇ         New regexp routines derived from Henry Spencer's.

o        Support for /(foo|bar)/.

o        Support for /(foo)*/ and /(foo)+/.

o        \s for whitespace, \S for non-, \d for digit, \D nondigit

ˇ         Local variables in blocks, subroutines and evals.

ˇ         Recursive subroutine calls are now supported.

ˇ         Array values may now be interpolated into lists: unlink 'foo', 'bar', @trashcan, 'tmp';

ˇ         File globbing.

ˇ         Use of <> in array contexts returns the whole file or glob list.

ˇ         New iterator for normal arrays, foreach, that allows both read and write.

ˇ         Ability to open pipe to a forked off script for secure pipes in setuid scripts.

ˇ         File inclusion via do 'foo.pl';

ˇ         More file tests, including -t to see if, for instance, stdin is a terminal. File tests now behave in a more correct manner. You can do file tests on filehandles as well as filenames. The special filetests -T and -B test a file to see if it's text or binary.

ˇ         An eof can now be used on each file of the <> input for such purposes as resetting the line numbers or appending to each file of an inplace edit.

ˇ         Assignments can now function as lvalues, so you can say things like ($HOST = $host) =~ tr/a-z/A-Z/; ($obj = $src) =~ s/\.c$/.o/;

ˇ         You can now do certain file operations with a variable which holds the name of a filehandle, e.g. open(++$incl,$includefilename); $foo = <$incl>;

ˇ         Warnings are now available (with -w) on use of uninitialized variables and on identifiers that are mentioned only once, and on reference to various undefined things.

ˇ         There is now a wait operator.

ˇ         There is now a sort operator.

ˇ         The manual is now not lying when it says that perl is generally faster than sed. I hope.

 

 

Randal can write one-liners again. Everyone is happy, and peace spreads

  over the whole Earth. -- Larry Wall in <199705101952.MAA00756@wall.org>

 

Randal Schwartz creates the legendary Just Another Perl Hacker .sig. Below is a post from comp.lang.perl.misc where he explains how it was created.

Newsgroups: comp.lang.perl.misc
Subject: Re: Who is Just another Perl hacker?
From: merlyn@stonehenge.com (Randal L. Schwartz)
Message-ID: <M1HFPVH2JQ.FSF@HALFDOME.HOLDIT.COM>
 

>>>>> "Juho" == Juho Cederstrom writes:
 

Juho> But when do I become Just another Perl hacker? Who are they? I've read
Juho> the FAQ, but it doesn't answer my question. If I replace my email
Juho> signature with JAPH, do I break some kind of law?
Juho> Or is Just another Perl Hacker a person who just hacks Perl?
 

Well, this ol' JAPH thing started back in 88-ish when I was posting to
a bunch of different newsgroups, and would sign each message somewhat
individualized above the "-- " cut.  For a while, it was stuff like:
 

        Randal L. "Some Clever Phrase Here" Schwartz
 

and I'd change the phrase to fit.  I got bored with retyping my name
repeatedly, so I start using:
 

        Just another <SUBJECT> hacker,
 

in each news group, changing <SUBJECT> as appropriate.  When I started
posting to the Perl newsgroup frequently, I just repeatedly typed:
 

        Just another Perl hacker,
 

and that got boring, so I stepped it up to Perl code:
 

        print "Just another Perl hacker,"
 

but again, that lacked the ability to soak up my then-spare-time, so
I started making them a bit more clever, like:
 

        print join " ", reverse split ' ', "hacker, Perl another Just"
 

and that started a trend of me constantly trying to outdo myself in
each posting.  The one that decoded morse code was probably one of my
favorites, as was the "old macdonald" one that is now immortalized in
Jeffrey's "Mastering Regular Expressions" (from O'Reilly).  A few
others got into the act... notably one Mr. Larry Wall who wrote code
to pick a random article of mine out of his news spool, run the code,
but print "Not " in front of it!
 

I have a little less spare time these days, so the JAPH signoffs have
been pretty plain <SIGH>.  But I occasionally sneak something in that
relates to what I'm answering.
 

So, in answer to your question, feel free to declare yourself a JAPH,
but most of us around here agree that I'm JAPH # 0. :)
 

print "Just another Perl hacker,"

Robert Tappan Morris infects the net with the infamous worm. (3 November)

Johan Vromans releases the first Perl Reference Card which would later prove to be the earliest published incidence of the word Perl. Johan has created a very nice timeline of the Perl Reference.(December)

1989

Tom Christiansen presents the first public Perl tutorial at the Baltimore Usenix.

Perl 3.000 is released and is distributed by Larry for the first time under the terms of the GNU Public License. A few of the new features: (18 Oct)

ˇ         Perl can now handle binary data correctly and has functions to pack and unpack binary structures into arrays or lists. You can now do arbitrary ioctl functions.

ˇ         You can now pass things to subroutines by reference.

ˇ         Debugger enhancements.

ˇ         An array or associative array may now appear in a local() list.

ˇ         Array values may now be interpolated into strings.

ˇ         Subroutine names are now distinguished by prefixing with &. You can call subroutines without using do, and without passing any argument list at all.

ˇ         You can use the new -u switch to cause perl to dump core so that you can run undump and produce a binary executable image. Alternately you can use the "dump" operator after initializing any variables and such.

ˇ         You can now chop lists.

ˇ         Perl now uses /bin/csh to do filename globbing, if available. This means that filenames with spaces or other strangenesses work right.

ˇ         New functions: mkdir and rmdir, getppid, getpgrp and setpgrp, getpriority and setpriority, chroot, ioctl and fcntl, flock, readlink, lstat, rindex, pack and unpack, read, warn, dbmopen and dbmclose, dump, reverse, defined, undef.

Steve Jobs introduces the NeXT to the academic community for a mere $6,500. Its main strengths are built-in ethernet, a Mach OS and TeX.

1990s

1990

Python invented by Guido van Rossum at CWI in Amsterdam.

Convex becomes the first major computer vendor to include Perl as part of its standard operating system distribution.

 

 

I know it's weird, but it does make it easier to write poetry in perl.

  :-)
-- Larry Wall in 7865@jpl-devvax.JPL.NAASA.GOV

Larry writes the world's first Perl Poem inspired by Randals JAPH signatures: (March)

      print STDOUT q
      Just another Perl Hacker,
      unless $spring

April Fool's "Black Perl" forgery (p. 553 of the Blue Camel). (1 April)

      BEFOREHAND: close door, each window & exit; wait until time.
             open spellbook, study, read (scan, select, tell us);
      write it, print the hex while each watches,
             reverse its length, write again;
              kill spiders, pop them, chop, split, kill them.
                     unlink arms, shift, wait & listen (listening, wait),
      sort the flock (then, warn the "goats" & kill the "sheep");
             kill them, dump qualms, shift moralities,
              values aside, each one;
                     die sheep! die to reverse the system
                      you accept (reject, respect);
      next step,
             kill the next sacrifice, each sacrifice,
              wait, redo ritual until "all the spirits are pleased";
             do it ("as they say").
      do it(*everyone***must***participate***in***forbidden**s*e*x*).
      return last victim; package body;
             exit crypt (time, times & "half a time") & close it,
              select (quickly) & warn your next vicitm;
      AFTERWORDS: tell nobody.
             wait, wait until time;
              wait until next year, next decade;
                     sleep, sleep, die yourself,
                      die at last
 

      # Larry Wall
      # lwall@jpl-devvax.jpl.nasa.gov

Electronic Frontier Foundation (EFF) is founded by Mitch Kapor.

Tom Christiansen's "The Answer to All Man's Problems" (about the Unix manpage system) is the first paper published at an academic conference to spotlight Perl.

1991

 

 

It won't be covered in the book. The source code has to be useful for

  something, after all... :-)
-- Larry Wall in

  10160@jpl-devvax.JPL.NASA.GOV

The first edition of Programming Perl, a.k.a. The Pink Camel, by Larry Wall and Randal Schwartz is published by O'Reilly and Associates. (January)

 

 

I'm reminded of the day my daughter came in, looked over my shoulder at

  some Perl 4 code, and said, "What is that, swearing?" -- Larry Wall in

  <199806181642.JAA10629@wall.org>

Perl 4.000 is released and includes an artistic license as well as the GPL. (21 March)

Linus Torvalds releases the first version of Linux. Linus had wanted to name it Freax (free + freak + unix) but the site administrator liked Linux better. It was distributed under the GNU Public License. (July)

Sun unveils Solaris 2 for the SPARC, a System V variant.

1992

The first release of MacPerl, 4.0.2. (January)

Rick Gates begins The Internet Hunt, a scavenger hunt for information to answer trivia questions using only the Internet. It dies in October 1994 when Gates decides to rework the hunt for the WWW, but never gets around to it. (September)

Sharon Hopkins presents "Camels and Needles: Computer Poetry Meets the Perl Programming Language" at the USENIX Winter Technical Conference. Sharon is the reigning Perl Poetry Pumpqueen and takes advantage of Perl's vocabulary which is very forgiving when abused. (December)

MacPerl 4.0.5 is released with Socket and DBM support. (December)

1993

MacPerl mailing list is created. (January)

Godwin's Law starts being used on Usenet, etc. It is sometimes seen even in comp.lang.perl.misc. (February)

The final Perl4 release, 4.036.

Larry Wall is awarded the Dr. Dobbs Journal Excellence in Programming Award. (March)

MacPerl 4.1.0 features a "True Macintosh Human Interface." (October)

 

 

Oh, wait, that was Randal...nevermind...
-- Larry Wall in

  199709261754.KAA23761@wall.org

Randal Schwartz is questioned by police for running crack on the password database at Intel. They returned the next day with a search warrant. (1 November)

Learning Perl, a.k.a. the Llama book, by Randal Schwartz is first published by O'Reilly. (November)

The Perl-packrats mailing list is started with the initial participants being Bill Middleton, Tom Christiansen, Henk Penning, Jarkko Hietaniemi, Stephen Potter, Lee Mcloughlin, and Mark of coombs. (2 December)

FreeBSD 1.0 is released and distributed via Walnut Creek CDROM. (December)

The first ideas of what will become CPAN emerge on the Perl-packrats mailing list. Modeled after the Comprehensive TeX Archive Network (CTAN) it would be an archive of all things Perl. (9 December)

1994

 

 

The whole intent of Perl 5's module system was to encourage the growth of

  Perl culture rather than the Perl core.
-- Larry Wall in

  199705101952.MAA00756@wall.org

The much anticipated Perl 5.000 is unveiled. It was a complete rewrite of Perl. A few of the features and pitfalls are: (18 October)

ˇ         Objects.

ˇ         The documentation is much more extensive and perldoc along with pod is introduced.

ˇ         Lexical scoping available via my. eval can see the current lexical variables.

ˇ         The preferred package delimiter is now :: rather than '.

ˇ         New functions include: abs(), chr(), uc(), ucfirst(), lc(), lcfirst(), chomp(), glob()

ˇ         There is now an English module that provides human readable translations for cryptic variable names.

ˇ         Several previously added features have been subsumed under the new keywords use and no