http://www.perlmonks.org?node_id=737249

Bass-Fighter has asked for the wisdom of the Perl Monks concerning the following question:

hi monks,

I am a monk now for a few weeks, and my boss has asked me to make a presentation about perl.

I have made a program by myself to explain what I have done. but there must be something too about perl itself, any great ideas for what I can put in this presentation? ohw yea... not too difficult because I must presentate for people who never looked to perl. they must understand it;-)
and I want to know what the strong and weak points are of the script.

Replies are listed 'Best First'.
Re: presentation perl
by holli (Abbot) on Jan 19, 2009 at 10:49 UTC
    The first google hit searching for "perl" and "slides" shows up this which is, after a quick skim, pretty up-to-date. It even menitions 5.10.

    As for your code, I could undust my chrystal ball but I think simply posting it would be easier for all us.

    Good luck for your presentation.


    holli, /regexed monk/
Re: presentation perl
by xdg (Monsignor) on Jan 19, 2009 at 12:05 UTC

    Check out this page: Perl Advocacy. Also, check out Tim Bunce's Perl Myths post and the associated presentation. There's a lot of good information there that you can use.

    -xdg

    Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

Re: presentation perl
by puudeli (Pilgrim) on Jan 19, 2009 at 10:48 UTC

    Perl is (at least)

    • Flexible (TMTOWTDI)
    • Easy to read, reminds written english
    • CPAN
    • Portable (ie. platfrom independent)
    • Did I say CPAN already?
    • Regular expressions and the regex engine
    • Easily extendable (XS)

    And if you show us your script we could tell the strong and weak points.

    --
    seek $her, $from, $everywhere if exists $true{love};
      Easy to read, reminds written english
      Yes, English is full of '$', '@' and all the other punctuation marks. "Easy to read" is a very debatable point, and "Hard to read" is usually the nr. 1 complaint against Perl.
      Regular expressions
      I wouldn't bring up regular expressions if I were to defend the point that "Perl is easy to read, reminds written English".
      Easily extendable (XS)
      XS requires knowledge of C, Perl internals and the XS language itself, and access to a C compiler. Many people have problems even installing an XS module because they lack the latter, and require precompiled binaries.
      no, I mean the strong and week points of perl itself, not my program. you just said some very strong points. but there must be some weak points in perl itself as well...
Re: presentation perl
by brsaravan (Scribe) on Jan 19, 2009 at 11:03 UTC
    You can start with
    Why scripting languages
    Advantage of Perl like
  • Easy to learn
  • CPAN.org (massive collection of Perl modules that can do almost anything)
  • Perl was not designed to only be a web development language, it can do much more, image creation, networking via telnet, ssh or ftp and others
  • Powerful regex engine.
  • Database connectivity
  • Online Help (thousands of script, websites)
      Online Help (thousands of script, websites)

      Don't forget to explicitly mention Perlmonks there... :)

Re: presentation perl
by Bloodnok (Vicar) on Jan 19, 2009 at 13:01 UTC
    The strengths of perl have been more than adequately covered by fellow monks elsewhere on this thread, so I won't (& don't even need to) even begin to contribute on that score.

    I would, however, as a perl advocate/evangelist, submit the following as potential weaknesses of the language...

    • From the numerous experiences of watching/overseeing others learn the language, not to have a *NIX background appears to be significantly disadvantageous - if for no other reasons than the lack of appreciation of either regular expressions or *NIX-like tools.
    • Furthermore, the majority of learners come from a background whereby language of choice imposes definitive rules & constraints whereas, as we all know, in perl, TIMTOWTDI - both of which appear to combine to cause no end of problems in this scenario. IMCO, this appears to be especially prevalent where the incumbent only has Java as a previous language - a mindset seemingly requiring disproportionate effort to overcome. A problem exacerbated when Eclipse is the development environment of choice - fine for Java, but despite the commendable best efforts of the E-P-I-C project, IMO, very poor for perl.

    I appreciate that the latter could be overcome to some degree thro' the use of suitable coding standards etc. ... but I've found that this only addresses maybe 10 - 15 % of the problem - the beast, though tamed slightly, obstinately remains to be overcome.

    ...just my 10 penn'orth

    A user level that continues to overstate my experience :-))

      As I only had some passing familiarity with a unix environment when I started learning Perl, I can attest to the veracity of your first point. On the other hand, when I needed to gain more unix chops, I found my Perl experience very useful.

      On the second point, PBP is a good starting place for standards that a noob could refer to. I wish it had been out when I started. I wouldn't have had so much to unlearn.


      TGI says moo

Re: presentation perl
by dorward (Curate) on Jan 19, 2009 at 11:02 UTC
    What you talk about will probably depend largely on who you are talking to.

    A general "Random people from the company" audience won't benefit from technical detail and will care far more about high level results. System admins will probably be interested in deployment issues. People who can write a little bit of code will probably be interested in what they can do with Perl to make their jobs easier.

    ... and so on.

      I must talk to colleagues who are all in electro enginering. licensed guys who want to know something about perl. mostly for using it
Re: presentation perl
by scorpio17 (Canon) on Jan 19, 2009 at 16:03 UTC

    There was a good blog article posted a while back regarding the virtues of Perl. It's mostly positive, but there are some valid gripes in a few of the users' comments following the article. Here's a link:

    Perl is Dead (Long Live Perl)

    There's also a lot of good material in Larry Wall's presentation a the Atlanta Linux Showcase:
    Camel Lot #6

    This talk was given in October 2000, so it may seem a bit dated with respect to perl6, but all the background/history of perl is still relevant. I especially like the stuff about "manipulexity" and "whipituptitude".

Re: presentation perl
by roadnottaken (Acolyte) on Jan 19, 2009 at 21:50 UTC
    I would say flexibility (TMTOWTDI) is a blessing and a curse: it made it incredibly easy for me (a biologist, mind you) to quickly learn how to write really bad (but functional) code.

    Most of what I, personally, use perl for is bioinformatics which involves a lot of text parsing and many regexes. So, for me, the most-indispensable part of the language is the wonderful regex support. If I wanted to make this point to others I might show some sample code for extracting some data from a flat-file using perl (~1-3 lines) versus C, Java, or the like (many many lines). To me that would be most-compelling and is Perl's primary strength.

    Update: Oh yeah! also CGI (CGI.pm). I don't know if it's relevant to your needs or not, but Perl is awesome for building custom web apps. A side-by-side comparison of a simple CGI script written in perl versus C would speak volumes, IMHO.

Re: presentation perl
by grizzley (Chaplain) on Jan 20, 2009 at 10:15 UTC

    I have made few presentations for folks at our company recently and let me share some thoughts about it.

    I hope you were at any YAPC or other Perl conference and you have seen how Perl folks make presentations. Especially Damian Conway :) I was. It is unforgettable experience :) I have heard that when people come to see some 'overview' presentation, you should assume you must entertain them, because they are tired after whole day of work and need some fun. So I focused on this point.

      #!perl -n if(/RS/) { print }
      Why all these curlies and parens? a simple
      #!perl -n print if /RS/
      is enough :)

        That's right :)

        I showed it on the first presentation, but it seems this reverse notation was little to much for people, who had first contact with Perl, so in the next ones I rewrote every line using curlies and parens.

Re: presentation perl
by Bass-Fighter (Beadle) on Jan 19, 2009 at 11:11 UTC
    ok, a lot to talk about I see, thanks for all this fast comments. a lot of great things about perl, but does no one know weak points? not only a little one? or hasn't perl any...

      Well, you can write very obfuscated code if you're lazy in a bad way. Badly written Perl code is a maintainers nightmare. Perl was not designed for OO, that is, it is not pure OO-language and thus lacks some of stuff pure OO languages have.

      Also, Perl's performance in some cases does not meet, for example, C performance in heavy calculations, like encrypting/decrypting (although this can be avoided by using perlxs and writing the performance sensitive parts in another language, C being the model example).

      --
      seek $her, $from, $everywhere if exists $true{love};
      This sort of thing all depends on the audience you are presenting to, the fact you are focusing on the weak points later on in the thread indicates to me you are trying to convince people the negatives are not bad or are looking for something else. If you are presenting this, and its balanced, you don't need depth of the negatives, if you are proposing this as a solution you need to focus more on the positives and what this is going to gain this group who is going to have to learn it. Of course, if you think they will be resistant to Perl, then you want more positives to get them on board, negatives and weaknesses will only give them outs to not get on board and deny you the use of Perl.
      Of course it all depends on what you intend to be using this for, to me Perl was a good fit for what we wanted to do because most of our work was in manipulation of text files and directory tree creation. Perl did what we needed, in a way that worked well for the product we were using. I think you have a good overview of what Perl can and can't do here, but you had better be sure that what you are presenting is the best solution and why it is so otherwise no presentation and/or set of slides is going to compensate for a lack of enthusiasm.
Re: presentation perl
by codeacrobat (Chaplain) on Jan 19, 2009 at 22:35 UTC
Re: presentation perl
by jvector (Friar) on Jan 21, 2009 at 22:58 UTC
    Sorry I am late joining this ;-)

    I think you are correct to have been looking for weaknesses - it is good to be prepared for questions your audience may ask you based on what they may have heard about Perl.

    So if someone does comment on the "line noise" preconception about Perl, you can smile and talk about the TMTOWTDI culture, but then refer to PBP (if you haven't already, do at least glance over it);or if its reputation of being hard to maintain comes up then you can refer to the wealth of very professional support there is available here and elsewhere and mention how there is a strong movement within the Perl community to really raise consciousness about using good engineering principles while working with it.


    This signature was ready but Christmas was delayed