Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
Please take this as observations from someone who probably isn't as deep in perl as many here. I know that BrowserUK, ww, sundialsvc4, Corion and many others have a MUCH larger body of knowledge concerning perl than I do.

I do think perl does have a future, but it currently rests in very narrow verticals.

Myself, I use it mostly for administrative tasks, though I have written other things (desktop and command line stuff for $work) in it as well. I find that perl is much easier to get things done on the machine with than bash/ksh/csh/flavor-of-the-decade-sh. Many sysadmins I know use perl extensively to get things done. I've almost completely foregone sh in lieu of perl.

That said, I do think that there are some things that could improve traction outside of the narrow verticals:

  • Threading. While there are facilities for it, using them seems very onerous. I'm not sure if that's my lack of experience talking (I could see threading being onerous nearly anywhere) or if use threads; is just painful. I seem to recall a meditation recently that expressed much gnashing of teeth concerning the state of p5 threading, but I also seem to recall that it was mostly performance, not usability related.
  • OOP. Moose/Moo/Mouse/ seems to be attempting to address this, but I do feel it needs to be baked in a bit better, if not by default. That said, I haven't even messed with the current options yet, as I usually just use hashes to get stuff done. Further up in this thread there have been statements to the effect of "no one who uses perl regularly would use it anyway", which I disagree with. I could easily see good OOP being useful to Mojolicious and Dancer projects to name a couple of things off the top of my head.
  • Saner defaults. As mentioned above: Strict and Warnings should probably be on by default, but I also know that will break lots of existing code and will wreak havoc with one liners. I'm not sure how to address this in a logical manner. Perhaps something like use bootstrap;, but that's not really an improvement.
  • Fix subroutines to accept parameters. While my ($foo, $bar, $bat) = @_ is usable, it reduces the readability of the code to someone who is unfamiliar with the language. It's my understanding that there's some stuff in 5.20 that may address this in a fashion.
I think there are a lot of smart people working in P5P. I appreciate all of their work. I hope that perl 6 will actually make it to the sunshine and still be "perl enough" that it gets some traction within the community, though the little I've read is that many are not impressed by what they've seen.

All of the above said, in my narrow vertical I typically use perl for (administrative tasks), cluster management software is getting more and more useable. Salt is a REALLY REALLY powerful tool that's very usable. I don't think it has the capabilities of replacing perl outright for me, but it's making once hugely difficult stuff (multi-machine deployment and management) significantly easier. As these tools get more powerful, I do think that perl becomes far more niche, but I don't think it'll hit "dead" for quite some time.

In reply to Re: The future of Perl? by jellisii2
in thread The future of Perl? by BrowserUk

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others imbibing at the Monastery: (4)
    As of 2021-02-28 22:46 GMT
    Find Nodes?
      Voting Booth?

      No recent polls found