[alt.sources.d] Perl

merlyn@iwarp.intel.com (Randal Schwartz) (11/27/89)

In article <JGREELY.89Nov21175157@oz.cis.ohio-state.edu>, jgreely@oz (J Greely) writes:
| I don't think Tom is advocating Perl as a complete replacement for the
| Unix Way(TM), but as a complement to it.  There is a type of
| programming task that's too clumsy or slow (or both) when written the
| "old-fashioned" way, but not easily implemented in C (or just not
| worth the time).  This is what Perl is for.  By some strange
| coincidence, tasks of this type are extremely common in system
| administration.  I suspect a straw poll of Perl users would turn up a
| large number of sysadmins.

This is *exactly* the audience for Perl.  When an "easy" combination
of awk and sed doesn't do it, but writing a C program (under multiple
architectures) is overkill, Perl seems to fit in quite nicely.  It's
also a lot more flexible at launching and managing multiple processes
than the same thing in awk or sh.  It also has this little report
generator built in that I've made minimal use of, but was the original
intent of Perl.

| You *do* know that Perl is a complete programming language, right?
| Powerful enough that Larry Wall is supposedly writing the next version
| of RN in it?  (I've never had the guts to ask him about this one,
| myself; I'd really rather not know)

This is true (Larry said so over dinner last month), and in fact was
the reason that all that socket and termio stuff ended up in Perl 3.0.
Larry hasn't started on the next RN yet (no time! :-), other than some
of the scaffolding to test connecting to an NNTP server with Perl.
The new RN will also be a testbed for a "new way to read news", much
like the current RN gave us all the concepts of "subject threads" and
"kill files".  (Something along the line of "virtual newsgroups", but
I don't want to steal Larry's thunder...)

(Geez.  When the new RN comes out, I'll be torn between using Gnews
inside GNU Emacs, and the new RN.  Gaccckk. :-)

Just another Perl hacker,
-- 
/== Randal L. Schwartz, Stonehenge Consulting Services (503)777-0095 ====\
| on contract to Intel's iWarp project, Hillsboro, Oregon, USA, Sol III  |
| merlyn@iwarp.intel.com ...!uunet!iwarp.intel.com!merlyn	         |
\== Cute Quote: "Welcome to Oregon... Home of the California Raisins!" ==/

faigin@aerospace.aero.org (Daniel P. Faigin) (11/30/89)

In article <5262@omepd.UUCP> merlyn@iwarp.intel.com (Randal Schwartz) writes:
>This is *exactly* the audience for Perl.  When an "easy" combination of awk
>and sed doesn't do it, but writing a C program (under multiple architectures)
>is overkill, Perl seems to fit in quite nicely.  It's also a lot more
>flexible at launching and managing multiple processes than the same thing in
>awk or sh.  It also has this little report generator built in that I've made
>minimal use of, but was the original intent of Perl.

It's time to tell a story. Not that many people know why perl even exists (or
that it was originally to be called gloria, in honor of Larry's wife). 

A long time ago, in a company that, sadly, no longer exists as it was, there
existed a project. This project needed a good configuration management system.
Now RCS is all fine and good, but it doesn't support Software Change Reports,
Problem Reports, et al. The CM system also had to support running on 6
different Vax split over two coasts.

Now, the system guru on this project was a nice fellow by the name of Larry
Wall. He was my officemate. Larry decided that the best solution of the
problem would be to use the news system to handle problem reports. In order to
do this, he had to make some modifications to inews to support appending to
articles (for approvals) and to support synchronization of article numbers.
People could read problem reports with Rn, and (A)pprove or (D)isapprove them.

Now, as with any CM system, reports are a necessity. Larry began to look at
the problem. The problem was that awk couldn't handle going through multiple
directories and multiple files, as are found in the news spool directory. Nor
could it follow pointers from one file to another. Nor could it produce the
nice reports that were required. Now, programmers are lazy and impatient
(Larry's basic idiom). Larry wanted the easy solution, but awk simply wasn't
it. He needed to get the reports (we were under deadline), but there was no
easy way out. Hence, perl was born.

Now, Perl version 1 was different in many ways from the perl of today. It used
a different regular expression package for one thing (which bit me, as I
developed many scripts that broke when Larry started on the net version). But
it was perl. 

We knew, from the beginning that Perl wasn't portable, primarily because of
its dependence on yacc (this was before bison was available, sometime in early
1986). We also knew it would be big.

Larry later left the project to be the guru of R&D, which is where the
beginning of the bells and whistles came into perl. This is also where Rn was
ripped into shreds into anticipation of a future rewrite, which has been 3
years in the making. Larry got a phone call one day, and heard the magic
words... "Voyager" and "JPL". He left our happy home, and went to JPL, where
he has continued to enhance Perl.

You all know the story from there. 

>| You *do* know that Perl is a complete programming language, right?
>| Powerful enough that Larry Wall is supposedly writing the next version
>| of RN in it?  (I've never had the guts to ask him about this one,
>| myself; I'd really rather not know)

Yeh, he's planning to do it. When is another question. Now that he's added the
fourth wall to his house, he may have some more time. Remember, programmers
are lazy and impatient. Perl allows Larry to prototype the new Rn faster than
writing it in C, and it can handle the text manipulation easier. Hence, he
uses it.

You should just see some of his ideas.

Daniel (one of the three people there at perl's birth)
Work :The Aerospace Corp M1/055 * POB 92957 * LA, CA 90009-2957 * 213/336-8228
Home :9758 Natick Avenue * Sepulveda CA 91343 * 818/892-8555 
Email:faigin@aerospace.aero.org (or) Faigin@dockmaster.ncsc.mil               
Voicemail: 213/336-5454 Box#3149 * "Take what you like, and leave the rest"   

jim@eda.com (Jim Budler) (11/30/89)

faigin@aerospace.aero.org (Daniel P. Faigin) writes:


} In article <5262@omepd.UUCP> merlyn@iwarp.intel.com (Randal Schwartz) writes:
} >This is *exactly* the audience for Perl.  When an "easy" combination of awk
} >and sed doesn't do it, but writing a C program (under multiple architectures)
} >is overkill, Perl seems to fit in quite nicely.  It's also a lot more
} >flexible at launching and managing multiple processes than the same thing in
} >awk or sh.  It also has this little report generator built in that I've made
} >minimal use of, but was the original intent of Perl.

} It's time to tell a story. Not that many people know why perl even exists (or
} that it was originally to be called gloria, in honor of Larry's wife). 

[... great story deleted...]

} Daniel (one of the three people there at perl's birth)

} Email:faigin@aerospace.aero.org (or) Faigin@dockmaster.ncsc.mil

Hey, this story would be great in the book! You know the book the
person you followed up to is writing. (Or did I get my people crossed
up?)

By the way, was a title ever chosen?

jim
-- 
Jim Budler	jim@eda.com    ...!{decwrl,uunet}!eda!jim
compuserve: 72415,1200     applelink: D4619
voice: +1 408 986-9585     fax: +1 408 748-1032

merlyn@iwarp.intel.com (Randal Schwartz) (12/02/89)

In article <1989Nov30.063941.15599@eda.com>, jim@eda (Jim Budler) writes:
| Hey, this story would be great in the book! You know the book the
| person you followed up to is writing. (Or did I get my people crossed
| up?)

It has been stashed away.  I will probably want to contact Daniel
again in the future for details (hint: Daniel... stay in touch!).  The
history of Perl is a topic in the outline already.

| By the way, was a title ever chosen?

Working title is "that darn Perl book". :-) I suspect Nutshell
Handbooks will want a different (read: marketable :-) title.
-- 
/== Randal L. Schwartz, Stonehenge Consulting Services (503)777-0095 ====\
| on contract to Intel's iWarp project, Hillsboro, Oregon, USA, Sol III  |
| merlyn@iwarp.intel.com ...!uunet!iwarp.intel.com!merlyn	         |
\== Cute Quote: "Welcome to Oregon... Home of the California Raisins!" ==/