cvs commit: perlfaq perlfaq1.pod

[email protected] (brian d foy) 21 Feb 2006 21:38:56 -0000
Newsgroups perl.cvs.perlfaq
Message-ID <[email protected]>
cvsuser     06/02/21 13:38:56

  Modified:    .        perlfaq1.pod
  Log:
  I started to update some references to the latest version of Perl
  (since 5.8.8 just came out), then I got a little wild. Some of this
  diff is just better line wrapping.
  
  * What is Ponie?
     + rewrote the answer. I think the old answer assumes a bit too much
     about what the reader already knows. I mention Parrot and provide a
     link to its project.
  
  * What is a JAPH?
     + Explained a tiny bit more about the history
  
  * Where can I get a list of Larry Wall witticisms?
     + These sort of questions are answered with "Google".  I still
     provide a link, and also one to Wikiquote, which has links to
     their use
  
  * How can I convince my sysadmin/supervisor/employees to use version
  5/5.6.1/Perl instead of some other language?
     + this is the one that started it all. I don't like the /
     constructs, and the versions are dated.
     + I removed a lot of the text since it duplicates info in earlier
     answers
     + I'd like to provide some good advocacy links, but they've all
     disappeared. www.perl.org has nothing useful :(
  
  Revision  Changes    Path
  1.21      +106 -101  perlfaq/perlfaq1.pod
  
  Index: perlfaq1.pod
  ===================================================================
  RCS file: /cvs/public/perlfaq/perlfaq1.pod,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- perlfaq1.pod	1 Feb 2006 01:37:21 -0000	1.20
  +++ perlfaq1.pod	21 Feb 2006 21:38:56 -0000	1.21
  @@ -58,20 +58,20 @@
   
   (contributed by brian d foy)
   
  -There is often a matter of opinion and taste, and there isn't any
  -one answer that fits anyone.  In general, you want to use either
  -the current stable release, or the stable release immediately prior
  -to that one.  Currently, those are perl5.8.x and perl5.6.x, respectively.
  +There is often a matter of opinion and taste, and there isn't any one
  +answer that fits anyone.  In general, you want to use either the current
  +stable release, or the stable release immediately prior to that one. 
  +Currently, those are perl5.8.x and perl5.6.x, respectively.
   
  -Beyond that, you have to consider several things and decide which
  -is best for you.
  +Beyond that, you have to consider several things and decide which is best
  +for you.
   
   =over 4
   
   =item *
   
  -If things aren't broken, upgrading perl may break
  -them (or at least issue new warnings).
  +If things aren't broken, upgrading perl may break them (or at least issue
  +new warnings).
   
   =item *
   
  @@ -79,49 +79,46 @@
   
   =item *
   
  -The Perl community is geared toward supporting the most
  -recent releases, so you'll have an easier time finding help for
  -those.
  +The Perl community is geared toward supporting the most recent releases,
  +so you'll have an easier time finding help for those.
   
   =item *
   
  -Versions prior to perl5.004 had serious security problems with
  -buffer overflows, and in some cases have CERT advisories (for
  -instance, http://www.cert.org/advisories/CA-1997-17.html ).
  +Versions prior to perl5.004 had serious security problems with buffer
  +overflows, and in some cases have CERT advisories (for instance,
  +http://www.cert.org/advisories/CA-1997-17.html ).
   
   =item *
   
  -The latest versions are probably the least deployed and
  -widely tested, so you may want to wait a few months after their
  -release and see what problems others have if you are risk averse.
  +The latest versions are probably the least deployed and widely tested, so
  +you may want to wait a few months after their release and see what
  +problems others have if you are risk averse.
   
   =item *
   
  -The immediate, previous releases (i.e. perl5.6.x ) are usually
  -maintained for a while, although not at the same level as the
  -current releases.
  +The immediate, previous releases (i.e. perl5.6.x ) are usually maintained
  +for a while, although not at the same level as the current releases.
   
   =item *
   
  -No one is actively supporting perl4.x.  Five years ago it was
  -a dead camel carcass (according to this document).  Now it's barely
  -a skeleton as its whitewashed bones have fractured or eroded.
  +No one is actively supporting perl4.x.  Five years ago it was a dead
  +camel carcass (according to this document).  Now it's barely a skeleton
  +as its whitewashed bones have fractured or eroded.
   
   =item *
   
  -There is no perl6.x for the next couple of years.  Stay tuned,
  -but don't worry that you'll have to change major versions of Perl
  -soon (i.e. before 2008).
  +There is no perl6.x for the next couple of years.  Stay tuned, but don't
  +worry that you'll have to change major versions of Perl soon (i.e. before
  +2008).
   
   =item *
   
  -There are really two tracks of perl development: a
  -maintenance version and an experimental version.  The
  -maintenance versions are stable, and have an even number
  -as the minor release (i.e. perl5.8.x, where 8 is the minor
  -release).  The experimental versions may include features that
  -don't make it into the stable versions, and have an odd number
  -as the minor release (i.e. perl5.9.x, where 9 is the minor release).
  +There are really two tracks of perl development: a maintenance version
  +and an experimental version.  The maintenance versions are stable, and
  +have an even number as the minor release (i.e. perl5.8.x, where 8 is the
  +minor release).  The experimental versions may include features that
  +don't make it into the stable versions, and have an odd number as the
  +minor release (i.e. perl5.9.x, where 9 is the minor release).
   
   =back
   
  @@ -155,15 +152,18 @@
   
   =head2 What is Ponie?
   
  -At The O'Reilly Open Source Software Convention in 2003, Artur
  -Bergman, Fotango, and The Perl Foundation announced a project to
  -run perl5 on the Parrot virtual machine named Ponie. Ponie stands for
  -Perl On New Internal Engine.  The Perl 5.10 language implementation
  -will be used for Ponie, and there will be no language level
  -differences between perl5 and ponie.  Ponie is not a complete rewrite
  -of perl5.
  +(contributed by brian d foy)
  +
  +Ponie stands for "Perl On the New Internal Engine", started by Arthur
  +Bergman from Fotango in 2003, and subsequently run as a project of The
  +Perl Foundation. Instead of using the current Perl internals, Ponie
  +creates a new one that provides a translation path from Perl 5 to Perl 6
  +(or anything else that targets Parrot, actually). You can also just keep
  +using Perl 5 with Parrot, the virtual machine which will compile and run
  +Perl 6 bytecode.
   
  -For more details, see http://www.poniecode.org/
  +You can get more information at http://www.poniecode.org/ and
  +http://www.parrotcode.org .
   
   =head2 What is perl6?
   
  @@ -328,70 +328,75 @@
   
   =head2 What is a JAPH?
   
  -These are the "just another perl hacker" signatures that some people
  -sign their postings with.  Randal Schwartz made these famous.  About
  -100 of the earlier ones are available from
  -http://www.cpan.org/misc/japh .
  +(contributed by brian d foy)
  +
  +JAPH stands for "Just another Perl hacker,", which Randal Schwartz used
  +to sign email and usenet messages starting in the late 1980s. He
  +previously used the phrase with many subjects ("Just another x hacker,"),
  +so to distinguish his JAPH, he started to write them as Perl programs:
  +
  +	print "Just another Perl hacker,";
  +
  +Note the trailing comma and space, which allows the addition of other
  +JAxH clauses for his many other interests.
  +
  +Other people picked up on this and started to write clever or obfuscated
  +programs to produce the same output, spinning things quickly out of
  +control while still providing hours of amusement for their creators and
  +readers.
  +
  +CPAN has several JAPH programs at http://www.cpan.org/misc/japh .
   
   =head2 Where can I get a list of Larry Wall witticisms?
   
  -Over a hundred quips by Larry, from postings of his or source code,
  -can be found at http://www.cpan.org/misc/lwall-quotes.txt.gz .
  +(contributed by brian d foy)
  +
  +Google "larry wall quotes"! You might even try the "I feel lucky" button.
  +:)
  +
  +Wikiquote has the witticisms from Larry along with their source,
  +including his usenet postings and source code comments.
  +
  +If you want a plain text file, try
  +http://www.cpan.org/misc/lwall-quotes.txt.gz .
   
  -=head2 How can I convince my sysadmin/supervisor/employees to use version 5/5.6.1/Perl instead of some other language?
  +=head2 How can I convince others to use Perl?
   
  -If your manager or employees are wary of unsupported software, or
  -software which doesn't officially ship with your operating system, you
  -might try to appeal to their self-interest.  If programmers can be
  -more productive using and utilizing Perl constructs, functionality,
  -simplicity, and power, then the typical manager/supervisor/employee
  -may be persuaded.  Regarding using Perl in general, it's also
  -sometimes helpful to point out that delivery times may be reduced
  -using Perl compared to other languages.
  -
  -If you have a project which has a bottleneck, especially in terms of
  -translation or testing, Perl almost certainly will provide a viable,
  -quick solution.  In conjunction with any persuasion effort, you
  -should not fail to point out that Perl is used, quite extensively, and
  -with extremely reliable and valuable results, at many large computer
  -software and hardware companies throughout the world.  In fact,
  -many Unix vendors now ship Perl by default.  Support is usually
  -just a news-posting away, if you can't find the answer in the
  -I<comprehensive> documentation, including this FAQ.
  -
  -See http://www.perl.org/advocacy/ for more information.
  -
  -If you face reluctance to upgrading from an older version of perl,
  -then point out that version 4 is utterly unmaintained and unsupported
  -by the Perl Development Team.  Another big sell for Perl5 is the large
  -number of modules and extensions which greatly reduce development time
  -for any given task.  Also mention that the difference between version
  -4 and version 5 of Perl is like the difference between awk and C++.
  -(Well, OK, maybe it's not quite that distinct, but you get the idea.)
  -If you want support and a reasonable guarantee that what you're
  -developing will continue to work in the future, then you have to run
  -the supported version.  As of December 2003 that means running either
  -5.8.2 (released in November 2003), or one of the older releases like
  -5.6.2 (also released in November 2003; a maintenance release to let perl
  -5.6 compile on newer systems as 5.6.1 was released in April 2001) or
  -5.005_03 (released in March 1999),
  -although 5.004_05 isn't that bad if you B<absolutely> need such an old
  -version (released in April 1999) for stability  reasons.
  -Anything older than 5.004_05 shouldn't be used.
  -
  -Of particular note is the massive bug hunt for buffer overflow
  -problems that went into the 5.004 release.  All releases prior to
  -that, including perl4, are considered insecure and should be upgraded
  -as soon as possible.
  -
  -In August 2000 in all Linux distributions a new security problem was
  -found in the optional 'suidperl' (not built or installed by default)
  -in all the Perl branches 5.6, 5.005, and 5.004, see
  -http://www.cpan.org/src/5.0/sperl-2000-08-05/
  -Perl maintenance releases 5.6.1 and 5.8.0 have this security hole closed.
  -Most, if not all, Linux distribution have patches for this
  -vulnerability available, see http://www.linuxsecurity.com/advisories/ ,
  -but the most recommendable way is to upgrade to at least Perl 5.6.1.
  +(contributed by brian d foy)
  +
  +Appeal to their self interest! If Perl is new (and thus scary) to them,
  +find something that Perl can do to solve one of their problems. That
  +might mean that Perl either saves them something (time, headaches, money)
  +or gives them something (flexibility, power, testability).
  +
  +In general, the benefit of a language is closely related to the skill of
  +the people using that language. If you or your team can be more faster,
  +better, and stronger through Perl, you'll deliver more value. Remember,
  +people often respond better to what they get out of it. If you run
  +into resistance, figure out what those people get out of the other 
  +choice and how Perl might satisfy that requirement.
  +
  +You don't have to worry about finding or paying for Perl; it's freely
  +available and several popular operating systems come with Perl. Community
  +support in places such as Perlmonks ( http://www.perlmonks.com )
  +and the various Perl mailing lists ( http://lists.perl.org ) means that
  +you can usually get quick answers to your problems.
  +
  +Finally, keep in mind that Perl might not be the right tool for every
  +job. You're a much better advocate if your claims are reasonable and
  +grounded in reality. Dogmatically advocating anything tends to make
  +people discount your message. Be honest about possible disadvantages
  +to your choice of Perl since any choice has trade-offs.
  +
  +You might find these links useful:
  +
  +=over 4
  +
  +=item * http://perltraining.com.au/whyperl.html
  +
  +=item * http://www.perl.org/advocacy/whyperl.html
  +
  +=back
   
   =head1 AUTHOR AND COPYRIGHT