Stories
Slash Boxes
Comments

SoylentNews is people

posted by Fnord666 on Thursday October 12 2017, @01:07AM   Printer-friendly
from the There’s-more-than-one-way-to-do-it,-but-sometimes-consistency-is-not-a-bad-thing-either dept.

Ruth Holloway at Red Hat's marketing site, OpenSource.com, has a retrospective on three decades of perl covering some history and a few of the top user groups. The powerful and flexible scripting language perl turns 30 at the end of this year. It is a practical extraction and reporting language widely used even today and has a dedicated community. It's ease of use and power made it the go-to tool through the boom of the 90's and 00's when the WWW was growing exponentially. However, its flexible syntax, while often an advantage, also functions as a sort of Rorschach test. One that some programmers fail. Perhaps two of its main strengths are pattern matching and CPAN. The many, mature perl modules available from CPAN make it a first choice for many when needed to draft something quickly or deal with a quick task.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1)
  • (Score: 0) by Anonymous Coward on Thursday October 12 2017, @01:15AM (10 children)

    by Anonymous Coward on Thursday October 12 2017, @01:15AM (#580892)

    Is it even possible to fail such a test?

    • (Score: 2) by MostCynical on Thursday October 12 2017, @01:41AM (7 children)

      by MostCynical (2589) on Thursday October 12 2017, @01:41AM (#580910) Journal

      You mean you *don't* see the killer bunnies in every picture?

      --
      "I guess once you start doubting, there's no end to it." -Batou, Ghost in the Shell: Stand Alone Complex
      • (Score: 3, Interesting) by MichaelDavidCrawford on Thursday October 12 2017, @03:49AM (4 children)

        by MichaelDavidCrawford (2339) Subscriber Badge <mdcrawford@gmail.com> on Thursday October 12 2017, @03:49AM (#580962) Homepage Journal

        The copyright on the test is intended to prevent anyone other than licensed psychologist from seeing it. The test does not work well if the client has so much as looked at it before.

        Even so, my ex found a copy in great condition at a used bookstore in Santa Cruz.

        We thought it would be fun to administer the test to each other. But then I emailed a friend who is a real shrink and she totally freaked. So we didn't score it.

        There is a scoring guide included with the package. Scoring must be complex because I didn't have a clue what any of it meant.

        --
        Yes I Have No Bananas. [gofundme.com]
        • (Score: 2) by Wootery on Thursday October 12 2017, @10:48AM (2 children)

          by Wootery (2341) on Thursday October 12 2017, @10:48AM (#581078)

          then I emailed a friend who is a real shrink and she totally freaked

          What year was this? They can't seriously expect the images to remain secret these days.

          • (Score: 2) by MichaelDavidCrawford on Thursday October 12 2017, @07:16PM (1 child)

            by MichaelDavidCrawford (2339) Subscriber Badge <mdcrawford@gmail.com> on Thursday October 12 2017, @07:16PM (#581298) Homepage Journal

            The last I read about it, the copyright was due to expire soon.

            I don't know what they've done about it, but I expect that a new test was made, with different blots.

            One could calibrate it by using other tests such as the Minnesota Multiphasic Personality Inventory.

            --
            Yes I Have No Bananas. [gofundme.com]
            • (Score: 2) by Wootery on Friday October 13 2017, @10:13AM

              by Wootery (2341) on Friday October 13 2017, @10:13AM (#581674)

              I expect that a new test was made, with different blots

              Which we can also expect to leak. That sort of thing is unlikely to remain secret in the Internet age.

        • (Score: 1, Funny) by Anonymous Coward on Thursday October 12 2017, @05:10PM

          by Anonymous Coward on Thursday October 12 2017, @05:10PM (#581220)

          This is the nicest thing anyone can say about the test
          "A 2003 report by Wood and colleagues had more mixed views: "More than 50 years of research have confirmed Lee J. Cronbach's (1970) final verdict: that some Rorschach scores, though falling woefully short of the claims made by proponents, nevertheless possess 'validity greater than chance' (p. 636). [...] Its value as a measure of thought disorder in schizophrenia research is well accepted. It is also used regularly in research on dependency, and, less often, in studies on hostility and anxiety. Furthermore, substantial evidence justifies the use of the Rorschach as a clinical measure of intelligence and thought disorder."

          Shrinks freak out when you get the cards for the same reason scientologists would freak out if you were reading advanced XENU III. Someone told them you'd break the magic.

      • (Score: 0) by Anonymous Coward on Thursday October 12 2017, @12:43PM

        by Anonymous Coward on Thursday October 12 2017, @12:43PM (#581105)

        > You mean you *don't* see the killer bunnies in every picture?

        Oo Oo I do I do !

      • (Score: 0) by Anonymous Coward on Thursday October 12 2017, @05:24PM

        by Anonymous Coward on Thursday October 12 2017, @05:24PM (#581227)

        I only see the remains of the Holy Hand Grenades of Antioch. Where are the bunnies?

    • (Score: 2) by rigrig on Thursday October 12 2017, @08:19AM

      by rigrig (5129) <soylentnews@tubul.net> on Thursday October 12 2017, @08:19AM (#581032) Homepage

      I think accidentally revealing your secret identity counts as failure?

      Bruce Wayne: ...... You have a thing for bats?
      Dr. Chase Meridian: Oh that's a bit of Perl code Mr. Wayne, people see what they want. I think the question would be, do you have a thing for a bats?

      --
      No one remembers the singer.
    • (Score: 1, Funny) by Anonymous Coward on Thursday October 12 2017, @08:55AM

      by Anonymous Coward on Thursday October 12 2017, @08:55AM (#581038)

      Is it even possible to fail such a test?

      Let me introduce you to my in-laws and you'll never ask that question again.

  • (Score: 4, Insightful) by Anonymous Coward on Thursday October 12 2017, @01:17AM (19 children)

    by Anonymous Coward on Thursday October 12 2017, @01:17AM (#580893)

    I used to know perl but consciously worked to forget it when I learned python.

    And why?

    Perl looks like line noise to me

    • (Score: 5, Funny) by The Mighty Buzzard on Thursday October 12 2017, @01:18AM

      by The Mighty Buzzard (18) Subscriber Badge <themightybuzzard@proton.me> on Thursday October 12 2017, @01:18AM (#580894) Homepage Journal

      Odd, line noise looks like perl to me.

      --
      My rights don't end where your fear begins.
    • (Score: 2) by crafoo on Thursday October 12 2017, @02:09AM (8 children)

      by crafoo (6639) on Thursday October 12 2017, @02:09AM (#580919)

      I tried learning Perl quite a while ago. I can see where it would be very useful but some of the real-world examples I saw just took too much out of my brain to decode. Can't say I like Python all that much either but pysci and numpy are too awesome to ignore.

      • (Score: 4, Insightful) by The Mighty Buzzard on Thursday October 12 2017, @09:05AM (7 children)

        by The Mighty Buzzard (18) Subscriber Badge <themightybuzzard@proton.me> on Thursday October 12 2017, @09:05AM (#581039) Homepage Journal

        The trick to learning any language is only learn the bits that are useful to you at the moment, then use them. It won't make you an expert overnight but it will make you a $language coder overnight. Expertise in perl, like in anything, only comes after lots of real-world use.

        --
        My rights don't end where your fear begins.
        • (Score: 1, Insightful) by Anonymous Coward on Thursday October 12 2017, @09:48AM (6 children)

          by Anonymous Coward on Thursday October 12 2017, @09:48AM (#581056)

          It's amazing how much better you'll be as a programmer if you just read the fucking manual from cover to cover.

          I did that with Perl many years ago, and found that after a week, I was indistinguishable from the experts in IRC channels, forums, and mailing lists, and I was even able to correct long-time users, and even make meaningful contributions to discussions about the evolution of the language.

          Of course, after dropping Perl, I quickly forgot it all, but the point remains: Taking a big gulp goes a long way toward allowing you to think in any particular language; small sips tend to make a you script kiddie who blindly copies/pastes from StackOverflow.

          • (Score: 2) by The Mighty Buzzard on Thursday October 12 2017, @10:25AM (2 children)

            by The Mighty Buzzard (18) Subscriber Badge <themightybuzzard@proton.me> on Thursday October 12 2017, @10:25AM (#581068) Homepage Journal

            Nah. There's value in spending some RTFM time as well but if you think you haven't forgotten over half of what you just read over the course of reading a programming language manual, you're sadly mistaken.

            --
            My rights don't end where your fear begins.
            • (Score: 2) by Phoenix666 on Thursday October 12 2017, @11:03AM (1 child)

              by Phoenix666 (552) on Thursday October 12 2017, @11:03AM (#581080) Journal

              I find I have to RTFM more broadly every 4-5 years when an occasion arises to write more perl in bulk, because in between I mostly use it as a glue-/scripting language and there's a bit of a palimpsest effect that sets in after using other languages.

              --
              Washington DC delenda est.
          • (Score: 0) by Anonymous Coward on Thursday October 12 2017, @10:42AM (2 children)

            by Anonymous Coward on Thursday October 12 2017, @10:42AM (#581074)

            Small sips over a period of time allows you to make mistakes, learn, enjoy yourself and bed the knowledge in deeply. I can still work in C or Lisp having barely touched them for years.

            But sounds like reading a manual cover to cover allows you to be a know-it-all on IRC? If that's your thing, then go for it.

            • (Score: 0) by Anonymous Coward on Thursday October 12 2017, @02:14PM (1 child)

              by Anonymous Coward on Thursday October 12 2017, @02:14PM (#581133)

              It's not uncommon for an ass to be a know-it-all, but not every know-it-all is an ass.

              Only a fool scoffs at someone for knowing it all.

              • (Score: 0) by Anonymous Coward on Thursday October 12 2017, @03:35PM

                by Anonymous Coward on Thursday October 12 2017, @03:35PM (#581168)

                I scoff at your Pearl of wisdom.

    • (Score: 2) by http on Thursday October 12 2017, @02:57AM (8 children)

      by http (1920) on Thursday October 12 2017, @02:57AM (#580938)

      The complaint about perl looking like line noise has always looked like a bluff to me. Take these two (awful) sentences:

      They runs to store.

      He climb up red ladder.

      There's entire families of natural human languages which have definite and indefinite articles, and consider number agreement serious fucking business. English is one of them and you're using it.

      They run to the store.

      He climbs up a red ladder.

      Nobody complains about this "line noise" in human languages. Yeah, maybe you could drop them in some situations, but telling a listener "this is one of those situations where articles are not needed" requires more effort than just using the articles, and not only are you at risk of being misunderstood, you have to say when you're switching back. Count me out.

      --
      I browse at -1 when I have mod points. It's unsettling.
      • (Score: 5, Insightful) by Thexalon on Thursday October 12 2017, @04:22AM (7 children)

        by Thexalon (636) on Thursday October 12 2017, @04:22AM (#580973)

        Nobody complains about this "line noise" in human languages.

        That's not the complaint. The complaint is Perl that looks like this:

        @P=split//,".URRUU\c8R";@d=split//,"\nrekcah xinU / lreP rehtona tsuJ";sub p{
        @p{"r$p","u$p"}=(P,P);pipe"r$p","u$p";++$p;($q*=2)+=$f=!fork;map{$P=$P[$f^ord
        ($p{$_})&6];$p{$_}=/ ^$P/ix?$P:close$_}keys%p}p;p;p;p;p;map{$p{$_}=~/^[P.]/&&
        close$_}%p;wait until$?;map{/^r/&&}%p;$_=$d[$q];sleep rand(2)if/\S/;print

        That makes it nearly indistinguishable from line noise. Yes, you can write incomprehensible gibberish in any language, but Perl makes it easier than many others, especially with all its regex-related features.

        --
        The only thing that stops a bad guy with a compiler is a good guy with a compiler.
        • (Score: 3, Informative) by Anonymous Coward on Thursday October 12 2017, @04:42AM (2 children)

          by Anonymous Coward on Thursday October 12 2017, @04:42AM (#580976)

          Perl makes it easy, as does C, Javascript, PHP and others. Note: this program is *deliberately* hard to read, not just golfed, so the comparison should be made against IOCCC, obfuscated Javascript and similar code.

          If you used maintained production code to make your point, we would have something to talk about. I'd probably show you a gargantuan unification error spat out by a C++ compiler to rejoin, but at least we'd be talking about real code.

          I'm sorry but your argument is either ill-considered or disingenuous.

          • (Score: 3, Insightful) by forkazoo on Thursday October 12 2017, @07:09AM

            by forkazoo (2561) on Thursday October 12 2017, @07:09AM (#581015)

            Perl's enthusiasm for things like regex as a first-class language feature tend to mean that a lot of ugly perl gets written. Compare that to a language like Python where readable use of whitespace is considered a first class language feature, and it's not shocking that Python tends to be more readable than Perl in practice. Sure, it's possible to write ugly code in any language. But Perl is a language where it tends to be easy to make things ugly.

          • (Score: 2) by canopic jug on Thursday October 12 2017, @07:53AM

            by canopic jug (3949) Subscriber Badge on Thursday October 12 2017, @07:53AM (#581024) Journal

            Indeed. Obfuscated code contests exist for many languages. So the comparison is not apt.

            Perl also makes it very easy to write simple to read code as well. Programmers should naturally, but often don't, gravitate to writing clear, easy to read code because code is read many more times than it is written. So the best cost reductions can come from reducing the burden of reading, especially when other people or the passage of time is involved and therefore programmers need to aim to write clearly. It takes both practice and will. One thing prevents that are the rush to just throw work over the fence and call it finished, same as in any other language. If the coding team, especially the boss, accepts or rewards hard to decipher work then that's what will be produced, regardless of language.

            Messy code can be overcome by a group decisions to do so. An example is what the OpenBSD developers do with their C code by enforcing style(9) [openbsd.org]. It is certainly in any team's self interest and even in programmer's own self-interest to strive to write clearly. Yet some don't. Thus the comment about the Rorschach test.

            --
            Money is not free speech. Elections should not be auctions.
        • (Score: 3, Insightful) by The Mighty Buzzard on Thursday October 12 2017, @09:17AM

          by The Mighty Buzzard (18) Subscriber Badge <themightybuzzard@proton.me> on Thursday October 12 2017, @09:17AM (#581041) Homepage Journal

          Reading a highly optimized perl script is no more difficult than reading highly optimized C. You need mastery of the language rather than casual familiarity to do either. If you have that mastery, neither are difficult to read unless intentionally made so.

          --
          My rights don't end where your fear begins.
        • (Score: 2) by Phoenix666 on Thursday October 12 2017, @10:39AM (2 children)

          by Phoenix666 (552) on Thursday October 12 2017, @10:39AM (#581073) Journal

          Most code will look baffling if you run all the lines together like that. Vim has a great plug-in, perltidy, you should run.

          Beyond that it seems intelligible to me, once you understand regex's.

          --
          Washington DC delenda est.
          • (Score: 1, Funny) by Anonymous Coward on Thursday October 12 2017, @12:08PM (1 child)

            by Anonymous Coward on Thursday October 12 2017, @12:08PM (#581093)

            Most code will look baffling if you run all the lines together like that. Vim Emacs has a great plug-in...

            FTFY

            • (Score: 0) by Anonymous Coward on Thursday October 12 2017, @04:01PM

              by Anonymous Coward on Thursday October 12 2017, @04:01PM (#581188)

              No, Emacs doesn't have plugins. It has packages.

  • (Score: 0) by Anonymous Coward on Thursday October 12 2017, @01:20AM

    by Anonymous Coward on Thursday October 12 2017, @01:20AM (#580895)

    I always liked ruby not for any rational reason it was really just because of it's sparkly red glow

  • (Score: 3, Insightful) by Appalbarry on Thursday October 12 2017, @01:37AM (1 child)

    by Appalbarry (66) on Thursday October 12 2017, @01:37AM (#580909) Journal

    1) To canopic jug and the eds - THIS is the kind of article summary I love to see. Short, entertaining, and answered all of the questions that a newcomer might have.

    2) To everyone else, make sure to go and read the excellent article linked from the summary. [opensource.com] It's that good.

    3) Opensource.com may be Red Hat's "marketing site," but I love their email newsletter. There's always at least one or two links worth clicking through.

    • (Score: 3, Informative) by Phoenix666 on Thursday October 12 2017, @10:47AM

      by Phoenix666 (552) on Thursday October 12 2017, @10:47AM (#581077) Journal

      Good articles on code don't come around that often, and summarizing them freehand this way takes a lot of time. And you can get something wrong, or be less clear than some demand, and the discussion then revolves around how much the submission sucks, how stupid the submitter is, and how worthless SN is because of it. It is demotivating for an all-volunteer, community-run site.

      In a perfect world the subject matter experts in the community would submit articles with summaries like these, written freehand with reasonable accuracy.

      --
      Washington DC delenda est.
  • (Score: 2) by legont on Thursday October 12 2017, @01:59AM (17 children)

    by legont (4179) on Thursday October 12 2017, @01:59AM (#580915)

    The company I work for, which is probably the biggest Perl shop around, is desperately trying to move away from Perl for one reason only: we can't find enough Perl programmers, let alone Perl experts. They are not available, period.

    --
    "Wealth is the relentless enemy of understanding" - John Kenneth Galbraith.
    • (Score: 5, Insightful) by http on Thursday October 12 2017, @02:39AM (6 children)

      by http (1920) on Thursday October 12 2017, @02:39AM (#580930)

      Consider the nature of the site you're posting this 'complaint' on.

      If your company can't find them, it's because it ain't looking.

      --
      I browse at -1 when I have mod points. It's unsettling.
      • (Score: 4, Insightful) by frojack on Thursday October 12 2017, @03:16AM (3 children)

        by frojack (1554) on Thursday October 12 2017, @03:16AM (#580946) Journal

        Exactly.

        It doesn't take that long to train someone to use Perl, because there are so many examples laying around to borrow from.

        Its really not that complex. You aren't going to put that new hire to work launching rockets for SpaceX right away.

        You don't HAVE to write obfuscated code or exercise every function in the library just because its there.
        You can write simple code, easy to understand, that you will look back on and chuckle about, until you look at the date you
        wrote it an realize its been in production long than your first born, now college sophomore, has been alive.

        --
        No, you are mistaken. I've always had this sig.
        • (Score: -1, Flamebait) by Anonymous Coward on Thursday October 12 2017, @09:50AM

          by Anonymous Coward on Thursday October 12 2017, @09:50AM (#581058)

          It's not "laying", you asshat American.

        • (Score: 0) by Anonymous Coward on Thursday October 12 2017, @12:15PM (1 child)

          by Anonymous Coward on Thursday October 12 2017, @12:15PM (#581097)

          It's not "laying", you asshat American!

      • (Score: 0) by Anonymous Coward on Thursday October 12 2017, @05:54AM

        by Anonymous Coward on Thursday October 12 2017, @05:54AM (#580997)

        Perl is ugly, so programmers don't want to work with it, particularly taking over legacy code base. That's why it's hard to find perl coders.

      • (Score: 2) by Phoenix666 on Thursday October 12 2017, @10:53AM

        by Phoenix666 (552) on Thursday October 12 2017, @10:53AM (#581079) Journal

        Yeah, where are they looking? I would do work for such a company provided they'd let you work remotely, mainly because it's been a long time since I got paid to use perl and I love the language.

        --
        Washington DC delenda est.
    • (Score: 2) by bart9h on Thursday October 12 2017, @03:32AM

      by bart9h (767) on Thursday October 12 2017, @03:32AM (#580949)

      If I can work remotely, you can hire me.

    • (Score: 0) by Anonymous Coward on Thursday October 12 2017, @03:39AM

      by Anonymous Coward on Thursday October 12 2017, @03:39AM (#580955)

      I'm available, well trained and love the language.

    • (Score: 2) by MichaelDavidCrawford on Thursday October 12 2017, @03:53AM (1 child)

      by MichaelDavidCrawford (2339) Subscriber Badge <mdcrawford@gmail.com> on Thursday October 12 2017, @03:53AM (#580965) Homepage Journal
      .. and I'll add it to The Global Computer Employer Index [soggy.jobs].

      (It's not very global yet, but I have big plans for it.

      mdcrawford@gmail.com

      --
      Yes I Have No Bananas. [gofundme.com]
    • (Score: 0) by Anonymous Coward on Thursday October 12 2017, @05:12AM

      by Anonymous Coward on Thursday October 12 2017, @05:12AM (#580984)
      1) How bad is the legacy code? ;)
      2) What are the two most recent quit dates/years of the perl programmers and why did they quit/get fired?
      3) How much is your company willing to pay?
      4) Can the programmers work from other countries?
      5) How do programmers apply for the jobs?
    • (Score: 4, Insightful) by maxwell demon on Thursday October 12 2017, @05:39AM (2 children)

      by maxwell demon (1608) on Thursday October 12 2017, @05:39AM (#580992) Journal

      Is it that they can't find any Perl programmers, or that they can't find any Perl programmers that will accept their pay? Those two are very different conditions.

      And it is quite easy to produce Perl programmers: Employ programmers and let them learn Perl. Anyone not willing to learn Perl probably should not be employed for programming in any other language either. As one day you might want to switch languages, and that person might not like the language you'll switch to either. It's not as if Perl employed a completely different programming paradigm than other common languages, after all.

      --
      The Tao of math: The numbers you can count are not the real numbers.
      • (Score: 2) by looorg on Thursday October 12 2017, @05:47AM

        by looorg (578) on Thursday October 12 2017, @05:47AM (#580996)

        That is always the issue isn't it? I knew how to program PERL once, or twice, but I don't do it any longer and I have not written a single line of PERL in probably 15ish years. I could relearn or refresh the knowledge if the pay was good enough, just as I could relearn to write COBOL again if it was just good enough pay -- this option is a lot more tempting since the pay would be better, even tho I don't know what PERL pay would be I suspect it would be less the writing COBOL for some bank or insurance company again. It's just that it's going to be fairly short term again I suspect and not worth the effort.

      • (Score: 2) by legont on Friday October 13 2017, @03:43PM

        by legont (4179) on Friday October 13 2017, @03:43PM (#581817)

        Pay is actually pretty good. Let me try to explain why I think this happened; it's just a personal opinion, mind you.

        I think Perl became a victim of it's own success. See, the project I work on was not touched since 2008. It is mission critical and blah blah but... In 2008 many people were laid off and the best left themselves. Normally the project would die, but Perl's one would not. It simply worked with minimal efforts. No or easily fixed critical security holes, no major outages - no nothing. Meantime java was a mess and everything java was rewritten at least twice since then. They had no choice. They had to hire java people, they had to train them, they had to promote them and generally invest, while Perl folks did not need much attention and stimulus so even more left. Of course, youngsters don't want to touch it either and the strategic decision was made to switch to java/python. But the situation is so bad that they can't even find people to reverse engineer the code. And why would a Perl expert work on killing the language? Sure, there are some folks available and they manage to hire them but even they are always looking to leave because the policy is to get away from their main trade.

        As for me, I've decided it will be my last job so I stay until it's over one way or another whatever time it'd take.

        --
        "Wealth is the relentless enemy of understanding" - John Kenneth Galbraith.
    • (Score: 2) by The Mighty Buzzard on Thursday October 12 2017, @09:19AM

      by The Mighty Buzzard (18) Subscriber Badge <themightybuzzard@proton.me> on Thursday October 12 2017, @09:19AM (#581044) Homepage Journal

      And you didn't think to ask here?

      --
      My rights don't end where your fear begins.
    • (Score: 2) by LoRdTAW on Thursday October 12 2017, @04:36PM

      by LoRdTAW (3755) on Thursday October 12 2017, @04:36PM (#581207) Journal

      This appears to be true. My brother works for a large company who recently replaced a very critical backend written in perl with one written in javascript. Their reason was the same, not *good* perl programmers. So they found a bunch of good javascript programmers.

  • (Score: 0) by Anonymous Coward on Thursday October 12 2017, @03:00AM (1 child)

    by Anonymous Coward on Thursday October 12 2017, @03:00AM (#580939)

    You got this little doily, souped it up with little pockets and bags to hold all the gizmo, nets, and bait and made it into super fishing pod. Pretty awesome.

    Then these geniuses came and designed a mac truck from it. And the same geniuses sing its praise about how it has all these pockets for needles, lures, baits, playboy magazines, and jerkeys.

    That's what perl is today.

    • (Score: 0) by Anonymous Coward on Thursday October 12 2017, @03:45AM

      by Anonymous Coward on Thursday October 12 2017, @03:45AM (#580959)

      What I'm imagining is you somehow crystallized Perl and snorted three lines of it.

      (Got any more?)

  • (Score: 3, Interesting) by Anonymous Coward on Thursday October 12 2017, @03:06AM (4 children)

    by Anonymous Coward on Thursday October 12 2017, @03:06AM (#580942)

    Perl was in the right place at the right time at the right price.

    First, it was free. This is very common with languages now, but was much less so in the years that Perl rose to prominence.
    Perl gained popularity when the WWW first came on the scene and exploded in popularity. In those days, webpages were simple and built as complete HTML pages by concatenating strings or filling in a complete page template. (Not too much componentization yet and AJAX came later.) The pages were treated as specially formatted text, and this was the task Perl excelled at. *Convenient* and *powerful* regular expression support only became widespread after Perl popularized it.

    But look at today: the web and programming languages are drastically different, and Perl no longer holds an advantage.

    • (Score: 3, Insightful) by c0lo on Thursday October 12 2017, @03:29AM (1 child)

      by c0lo (156) Subscriber Badge on Thursday October 12 2017, @03:29AM (#580947) Journal

      But look at today: the web and programming languages are drastically different, and Perl no longer holds an advantage.

      On the other side, a late(r) newcomer [php.net] (PHP/FI - 1994) managed to evolve.

      --
      https://www.youtube.com/watch?v=aoFiw2jMy-0 https://soylentnews.org/~MichaelDavidCrawford
      • (Score: 3, Touché) by fyngyrz on Thursday October 12 2017, @02:25PM

        by fyngyrz (6567) on Thursday October 12 2017, @02:25PM (#581137) Journal

        On the other side, a late(r) newcomer (PHP/FI - 1994) managed to evolveinfect.

        FTFY.

    • (Score: 2, Informative) by Anonymous Coward on Thursday October 12 2017, @04:01AM

      by Anonymous Coward on Thursday October 12 2017, @04:01AM (#580968)

      The main advantages are social and cultural. The language is so hackable, Forget Ruby, Javascript, Python and Go, Perl 5 is catching up to _Perl 6_ on the feature front. I could go on, but the point is the tide shifted, people didn't like what they didn't like, and moved on to less powerful languages that seemed easier to manage (some were, others were not.) Meanwhile, Perl best practices evolved, Modern Perl showed up... but it was too late. There is still a ton of Perl running things, and a lot of Perl programmers making things. But new teams starting new projects are unlikely to pick the language.

      There is one major overlooked cultural advantage to picking Perl, however: experience. If you start a project in Perl and need help, you will mostly be talking to people who have been there forever, and are still at it.

    • (Score: 2) by canopic jug on Thursday October 12 2017, @08:07AM

      by canopic jug (3949) Subscriber Badge on Thursday October 12 2017, @08:07AM (#581028) Journal

      *Convenient* and *powerful* regular expression support only became widespread after Perl popularized it.

      Regardless of the path that perl takes from now on, this popularization of pattern matching has been of lasting benefit. SNOBOL4 had, until relatively recently, more powerful pattern matching that was also rather convenient despite the otherwise archaic nature of the language. However, it was abandoned by some of its key delelopers around the time networked computing started to take off at research institutions. So it was not able to adapt or popularize pattern matching. Icon never took off for other reasons. That left an unfilled need for a language with good pattern matching. These languages specialized in pattern matching because there has been a need for it.

      So not only was there a need, there was a vacuum for perl to fill. The fact that it showed up around the time that networked computing grew only helped ensure that it was in place by the time the WWW hit its stride. Then, as you point out, it excels at processing text and the WWW being text made it a perfect match. So I'd add that as a fourth factor in addition to being in the right place at the right time at the right price.

      --
      Money is not free speech. Elections should not be auctions.
  • (Score: 3, Insightful) by pTamok on Thursday October 12 2017, @07:32AM (2 children)

    by pTamok (3042) on Thursday October 12 2017, @07:32AM (#581019)

    One of the issues with the CPAN is that although there is very likely a module available that meets your primary needs, it may not (a) be optimised for your use and (b) probably wasn't written with security in mind. There are some very, very, good modules, written by gifted programmers - so much so that rolling your own would not be advisable, as they will have thought of things you have not: but on the other hand, there are times when using your home-grown module is preferable. The difficulty is having the knowledge, experience and ability to make that choice. Many people over-estimate their own abilities in that regard, including me.

    To be fair, this is not just a PERL/CPAN issue. It goes to the heart of re-use of shared code. In principle, code worked on by a group (of experts) should be better than code produced by a single individual - in practice, this is not always the case, for a variety of reasons. I'm sure most readers can enumerate several such reasons, so I won't insult your intelligence by listing any.

    • (Score: 0) by Anonymous Coward on Thursday October 12 2017, @11:57AM (1 child)

      by Anonymous Coward on Thursday October 12 2017, @11:57AM (#581087)
      PHP is even worse from that perspective and yet it's still very popular. Even Facebook was using it and is still using it or a version of it.
      • (Score: 2) by tibman on Thursday October 12 2017, @05:39PM

        by tibman (134) Subscriber Badge on Thursday October 12 2017, @05:39PM (#581235)

        In my experience PHP has all the functionality you need baked into it*. Most libraries i've seen just force you to use a pattern that you could be using without the library. Though i still prefer parameterized sql over an abstraction library that builds objects from your db schema. Just keep your db calls in a separate layer and you'll be fine. It turns into a mess when people are doing sql calls from controllers/views/high-level places. Every language has issues like that.

        *UI libs are an exception

        PS: I don't write php for profit. Just for fun : )

        --
        SN won't survive on lurkers alone. Write comments.
(1)