hi, i was interested if perl is still relevant in this day and age. Perl has been on the decline for a very long time now. Perl 6 (now named 'raku) not being backwards compatible with perl 5 code made the already small perl community even smaller by splitting it in half. A good example is lisp with it’s thousands of different dialects.

Is it still worth using or is it bound to legacy software forever? Like cobol.

  • glad_cat@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    39
    arrow-down
    5
    ·
    edit-2
    1 year ago

    For me, Python replaced Perl 15 years ago. I know Perl is a great language, but it’s too “write-only.” Python replaced both BASIC and Perl at the same time, even with the problems of migration from v2 to v3. Python can also do scripts to replace Bash and PowerShell. I don’t see myself learning Perl now, it would be a waste of time.

    Perl was revolutionary at the time with CGI and regexes, but it’s not needed anymore.

    • El Barto@lemmy.world
      link
      fedilink
      English
      arrow-up
      31
      arrow-down
      22
      ·
      edit-2
      1 year ago

      I wish python was not indentation aware. It has discouraged me from learning it.

      Edit: downvoted by fanbois. Look, I’m not married to my tools.

      • Muffi@programming.dev
        link
        fedilink
        English
        arrow-up
        23
        arrow-down
        1
        ·
        1 year ago

        Even if you’re writing JavaScript, you should be using proper indentation. What an odd thing to keep you from learning it.

        • El Barto@lemmy.world
          link
          fedilink
          English
          arrow-up
          9
          arrow-down
          6
          ·
          1 year ago

          Sometimes I want to write a quick oneliner or a quick algorithm to test things out. Or not worry about indentation when trying a solution I might discard in five minutes.

          With Python, I don’t have that choice.

            • El Barto@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              edit-2
              1 year ago

              Single line ID? What do you mean?

              Edit: I got it now.

              So I can place multiple for loops and conditional statements in one single line in Python?

              • tsz@lemmy.world
                link
                fedilink
                English
                arrow-up
                3
                ·
                1 year ago

                List comprehension can actually do that, yes. This is one of the scripting aspects of python I use most commonly, and is probably one of its best-known features for creating “one liners”.

                • El Barto@lemmy.world
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  edit-2
                  1 year ago

                  I read about it since I was curious. It seems like you have to craft your code in a certain way for it to be a one-liner. Whereas with many other languages, you don’t need to do such a thing. You just put everything in one line and off you go.

                  Having said that, from a challenge-seeking perspective, writing python oneliners sound fun (I really mean this.)

        • dukk@programming.dev
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          Things get messy though, when you have to break the rules of indentation once in a while or when you have “improper “ indentation. Whitespace is a stupidly messy thing. Indentation should be a style guide, not part of the language semantics.

      • glad_cat@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        6
        arrow-down
        1
        ·
        1 year ago

        It has never been an issue for me in 20 years. If you move code, you cut a whole paragraph, paste, and indent appropriately.

        • El Barto@lemmy.world
          link
          fedilink
          English
          arrow-up
          3
          arrow-down
          6
          ·
          1 year ago

          If I move code in non-python code, I cut a whole paragraph, paste, and I’m done if that’s all I wanted to do.

          • glad_cat@lemmy.sdf.org
            link
            fedilink
            English
            arrow-up
            2
            arrow-down
            3
            ·
            1 year ago

            Your code won’t be indented properly, same problem as Python unless you have a formatting tool in your setup.

            • El Barto@lemmy.world
              link
              fedilink
              English
              arrow-up
              2
              arrow-down
              3
              ·
              edit-2
              1 year ago

              It won’t matter. It will still compile correctly every time, as opposed to python, and that’s my point. Choice. Choice is the key here.

                • El Barto@lemmy.world
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  1 year ago

                  I know Python is interpreted, but regardless, my point still stands. Just replace compile with run correctly.

      • treadful@lemmy.zip
        link
        fedilink
        English
        arrow-up
        6
        arrow-down
        2
        ·
        1 year ago

        I wish python was not indentation aware. It has discouraged me from learning it.

        lol, then you just don’t like Python. You can’t disassociate the two things.

            • El Barto@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              edit-2
              1 year ago

              Correct. I don’t think we’re disagreeing. The language has one deal-breaker to me and that’s all I need to know.

              That’s like saying “you won’t be friends with Bob because he’s likes to go to smoking-friendly places all the time and you don’t? BUT YOU DON’T KNOW THE GUY!!!”

  • magic_lobster_party@kbin.social
    link
    fedilink
    arrow-up
    14
    arrow-down
    2
    ·
    1 year ago

    Perl is great for that occasional bash one liner or that one off script.

    It’s awful for team projects. The core mantra of Perl is “there’s more than one way to do it”, meaning every piece of code can be written in hundreds of different ways. Result is that everybody write with different code styles, and no one can understand each other’s code.

    So that rules out most practical use cases.

  • NeoNachtwaechter@lemmy.world
    link
    fedilink
    English
    arrow-up
    10
    ·
    1 year ago

    Perl hasn’t lost any of it’s qualities or relevance or usefulness.

    It’s just, with these incompatible language upgrades, they are creating artificial barriers for starters and for occasional users. The outcome is that they are making it less popular, sadly.

    • dan@lemm.ee
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      1
      ·
      1 year ago

      Which incompatible language upgrades? Are you talking about Perl 6?

      That was never really an iteration of Perl, and it was renamed Raku some years back so is no longer named like it’s an iteration of Perl.

      Perl continues as Perl 5 and honestly values compatibility extremely highly, probably more than many (most?) other languages. There have been a handful of breaking changes over the years (most notable for me was the hash key ordering thing) but those are usually security related rather than anything else.

  • dan@lemm.ee
    link
    fedilink
    English
    arrow-up
    7
    ·
    1 year ago

    I write Perl at work. Supporting an actively developed Perl based application.

    It’s honestly not that bad as a language, the biggest downside is that the ecosystem of libraries around it are often abandoned or outdated. The language isn’t perfect and it needs a bit of discipline to avoid creating unreadable code, but honestly it’s not as bad as its reputation might have you believe.

    It has quite a few tricks and unexpected bits of flexibility that make it quite a bit more expressive than other languages - you can really craft nice compact, elegant code with it if you want to.

    These days I use other languages too (Python, Ruby, JS, etc) but none of them quite match Perl for expressiveness.

    Oh also it’s great for oneliners. That expressiveness can be abused for brevity in some really interesting ways.

      • dan@lemm.ee
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        Nope. But I know a bunch of people that do or have, and have interviewed several (it’s a pretty small sector!)

  • El Barto@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 year ago

    Is Raku really used as much as perl? Splitting the community in half is quite the claim…

  • zero_spelled_with_an_ecks@programming.dev
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 year ago

    I work at a small company that still uses perl for everything. It works, the company makes money. They’ll never move off it. I bet there’s a lot of little places like that, but I doubt many are starting new projects with it. Not many of the major modules have a lot of updates recently, but they’ve also been pretty complete for a long time. If you already know shell/awk/grep/etc it’s pretty easy to pick up. Probably will see less and less of it as the people that do write in it continue to age.

    • drzow@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      Personally, I never figured out awk and sed, and only the basics of heel because I’ll just use Perl if I need and if the things those tools do.

      You can do cool and complex stuff with it (I have), but it’s really unparalleled for folding, stapling, and mutilating text in a CLI environment.

  • SwingingKoala@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    4
    ·
    1 year ago

    Perl is nice. I doubt anybody uses it to create new projects though, and if they do I’d doubt their sanity. Learn it if you want to maintain old, illegible code.

    • El Barto@lemmy.world
      link
      fedilink
      English
      arrow-up
      11
      arrow-down
      5
      ·
      1 year ago

      The illegible code claim has always baffled me.

      You can write perfectly legible code in perl. You can write illegible code in python if you really want to.

  • 9point6@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    I know of at least one big online company that still has a staggering amount of perl in their stack for 2023 (IMO)

  • 7fb2adfb45bafcc01c80@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    I still use Perl for most things – it’s my go-to language when I have to get something done quickly. And quickly doesn’t have to mean small one-liner scripts.

    My biggest reason for using it is that mod_perl is still blazingly fast.