Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Holy Monks

I come here, with a very honest intention of requesting your guidance. Please do not flame me, as I ask this not out of jest or mockery, but out of pure practical and job related perspective.

Often I have visited this site, to glean the knowledge on this beautiful language called Perl, felt amazed by it, used to a some extent to filter outputs from commands, mail them out and such. That was quite a while back.

While I hold Perl in high regards, those amongst you who use is on much regular basis, what is your opinion? Is Perl usage dwindling? Or is it still being used, just not getting a lot of limelight? In today's world where there is a lot of focus on scripting and automating stuff, where does Perl stand? Is it overshadowed by other languages to a degree where it's not being used much?

I do understand that PerlMonks is full of those who love Perl, and it is brazen of me to ask such a question here, but I know you would be honest in your replies.If one can learn only 1 language due to time and job constraints, would Perl be the right choice?

Again, I do not intend to mock or jest. So pardon my brazen questions.

Replies are listed 'Best First'.
Re: About learning Perl.
by Your Mother (Archbishop) on Feb 15, 2017 at 18:47 UTC

    As the great and powerful LanX said, it’s been discussed. What one language you should focus on is decided by far more than usage stats and Ruby/Python/Perl/Scala and others are quite similar on many level so learning one is a good jump on the others.

    It matters where you live. Junior devs will generally never get (good) telecommute positions because they are competing with senior devs around the world.

    It matters what your focus and comfort zone is. JavaScript is full stack now and on every device and with the slowburn of HTML5 and ES6 being adopted, it is an excellent place to invest in the near future. Other focuses like DB admin, sysadmin, testing… these jobs are readily available. Perl is a superior side-talent for most of them.

    It matters what your cognitive bent is. Quite a few Perl hackers prefer Perl, warts and all, to all other languages because, as TheDamian once remarked, it allows you to hack how you think; no matter how you think.

    It matters what your career goals are. Perl jobs are guaranteed if you have the skill or are in the right place—because there is a ton of Perl in the wild but fewer and fewer good Perl hackers—but Perl is more likely to evolve into a support, patch, or maintenance role. Not many greenfield projects in it. I work on a 20 year-old application and am paid rather well. It’s not much fun most of the time because it’s largely just making payments on technical debt and having the same argument about the cost of a rewrite every six months or so. That said, “not much fun” in Perl is a hundred times better than “not much fun” in Java, etc.

      > As the great and powerful LanX ...

      From now on you'll be my ambassador to Canada!

      Cheers Rolf
      (addicted to the Perl Programming Language and ☆☆☆☆ :)
      Je suis Charlie!

      PS: no telecommute, sorry! ;p

Re: About learning Perl: always a good option!
by Discipulus (Canon) on Feb 16, 2017 at 08:26 UTC
    Hello Anonymous,

    You got a very good reply from YourMother, an experienced programmer with a wide vision of the IT world.

    Mine is from the other end of the food chain: I only program in Perl and i never investigated other languages due to time constraints and Real Life priorities.

    I work as sysadmin (mostly in MSWin32 but i've recently put a feet on the Linux side of the $job) and I meet Perl even before my actual job. In these years I used Perl to automate most boring part of my job: OS management, web reporting interfaces, MSSQL automations and monitoring, XML manipulation, IIS management for thousands of sites, log analisys, quick hacks..

    Beside of this I've developped some useful (to me) apps for profit and fun. This is a central word: fun. Perl still give me fun and the desire to learn more.

    In this perspective I double ++ the YourMother sentence “not much fun” in Perl is a hundred times better than “not much fun” in Java, etc.

    Perl can be useful in many many fields and offers always a quick way to get the problem solved and always the possibility to develop a quick hack into a more robust solution.

    While I percive the fact that Perl is no more the top laguage it was a while ago, I also think, imho, that not all job offers are fashion victims and if you can offer a valid solution in Perl it will be as valid as other language ones.

    Also in recent years Perl is somehow rebirthing in some field: many new web related projects are now valid and usable options (see PSGI specification and Plack implementation), interesting approach to parallel progrmming (see MCE by our estimated brother marioroy), many interesting stuff in electronic (Arduino, RaspBerrry) field..

    This topic was discussed many times: I have bookmarked in my homepage two interesting thread.

    Choose Perl, come out from anonymous's robe and good luck!

    L*

    There are no rules, there are no thumbs..
    Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.
Re: About learning Perl.
by LanX (Saint) on Feb 15, 2017 at 18:10 UTC
    If we had a working tag system I could easily point you to 100 similar discussions.

    So I can only beg you to please search the monastery...

    Cheers Rolf
    (addicted to the Perl Programming Language and ☆☆☆☆ :)
    Je suis Charlie!

Re: About learning Perl.
by hippo (Archbishop) on Feb 16, 2017 at 09:03 UTC
    If one can learn only 1 language due to time and job constraints, would Perl be the right choice?

    Yes. Perl is the Swiss Army Chainsaw because it does everything and does it all well. No other single language IME can compete on those terms. There's no point repeating all the good reasons to use Perl here but given your restriction to learn just one language, Perl has to be the obvious choice.

    If you can find time for a second language then that can be domain-driven and is probably going to be one of: C, Javascript, SQL, Go or (Larry help you) Java.

Re: About learning Perl.
by trippledubs (Deacon) on Feb 15, 2017 at 18:43 UTC

    If one can learn only 1 language due to time and job constraints, would Perl be the right choice?

    I think Java would be the most employable if you need a job, but you can always abandon your family, job, personal possessions, time spent creating nodes on what language to learn to make more time for perl learning. If you add up all the time spent waiting for the jvm to start your program you can read some perl books

    Since the situation you describe is not possible it is not worth serious consideration.