1. 19

  2. 35

    Counter prediction: git will still require perl in 2023 in Ubuntu.

    1. 18

      So will automake.

      1. 4

        Does Darwin’s libc still need perl?

        1. 4

          Oh god, is it still implementing wordexp/glob via Perl?

          1. 2

            I think so

          2. 2

            If you are referring to wordexp, it uses a shell builtin now (ala FreeBSD).

            1. 1

              ah, thanks for clarifying

      2. 16

        The data from the google trends is terrible. It’s in percent and squeezes in a Rust in the end. It’s terrible to compare the stains. Could it also mean that niche languages got more popular in general or would that require more than 100% growth?

        The trend projection also is bad. The author had like 30 more years of time for Cobol but comes up with such uncreative reasons why the Perl line would’t take the same shape.

        I - as a student of Language, Literature and Culture - was really impressed by Perls take on programming. I still am planing to look into Raku.

        1. 2

          To be honest, the linear/polynomial trend regression done here is more for fun than anything IMHO. You can not compare the two stacked area figures because it is in percent. The regression/trend stuff seems to be the interest in time of Google Trend when the max is 100 (weird y axis) meaning the max interest during the time period. The only fun think, it is the seasonal pattern for Delphi which remind me the one you can find for Java meaning that that somewhere some universities where still teaching it (drop around July/Augustus) but slowly stopped as the trend reduced.

        2. 34

          This is embarrassing flamebait.

          1. 3

            Yeah, Perl isn’t going anywhere, no matter how much people want it to haha

          2. 12

            There seems to be a flurry of “Perl is dead” stories on the heels of the Perl 5.32 release and roadmap. It’s up there with the old “FreeBSD is dying, Netcraft confirms it” shtick. Unfortunately, that perception sort of drives the reality yet it turns up frequently in places that are not greenfields. Having written a lot of Perl (some of which is still in use… mumble… years later), I think that, yes, mindshare has moved on to Python and Go and I would not start a new project at work with it. Not because it wouldn’t work but because I’d have to be an advocate and driving force for the language and its environment when I just want to accomplish other things.

            1. 10

              I, for one, am excited to see what happens in 2024 when the linear regression predicts perl usage will go negative.

              1. 17

                Integer wraparound; all code will be replaced with perl.

              2. 17

                Weird timing (posting the story now as the article is from 2019) with the Perl 7 PR a few days ago. I think like a lot of other programming languages, it will no go away or “die”. The Perl 6/Raku take a clear different path, Perl 7 and 8 coming. The syntax is weird by today standard, yes but is it a problem? I mean we have see the rise of Clojure with a s-expression syntax, functional, etc. making it almost mainstream, why not the idiosyncrasies of Perl?

                1. 16

                  s-expressions provide regularity. Perl’s idiosyncrasies are truly idiosyncratic. There are a large number of operators that are single punctuation characters. Many of these behave different in different contexts. This makes it so that when looking at other people’s code you are constantly encountering new idioms. So when I’m looking at a legacy code base I’m seeing idioms from 2015, 2010, 2005, 2000 and earlier.

                  1. 5

                    That’s why I like Perl. Once I am old and tired, I will find a job maintaining an obscure tool written in Perl, and I will have job security. ‘Maintainable’ software is an evil ploy from corporations scheming to pit employees against each other.

                    1. 4

                      Obligatory: `perl -e ‘print reverse “dog”’

                      In Vyatta and then VyOS, we’ve had our butts bitten by stuff like this countless times, even with strict and warnings. Strict and warnings only take you that far. Then there’s error handling. Exceptions aren’t there, and monadic approach isn’t really possible because there are no types. Then there’s a GC that hopefully will learn how to break circular references in Perl7, four decades after everyone else.

                      The code we’ve rewritten in Python has much fewer bugs on average, and when there are bugs, it’s much easier to track them down. Of course it’s not just because of the language, we are fixing old design flaws at the same time, but just rewriting the same code word for word would already be an improvement.

                      It’s more like, you can make C safe and reliable by memorizing the MISRA rules and installing an external checker. Or you can switch to Ada or Rust and get a whole bunch of great features in addition to built-in safety checks.

                      1. 2

                        Ha, ha. Be careful what you wish for. While we achieve a work life balance that corporations are incapable of, I’m on the hook for several dozen different collaborations with huge budgets grinding to a halt during outages. Those muons are not going to research themselves.

                        1. 2

                          As a friend is fond of saying: 90% automation, 10% job security

                    2. 9

                      If you’re thinking of learning Perl or starting a new project in Perl, you might want to reconsider.

                      I don’t see anything controversial with this statement. You can apply it to any number of languages, not just Perl - Common Lisp, Pascal, COBOL. And I say this as a Perl aficionado.

                      Most languages never make it past compiling themselves. Perl has had a great run and is still super-fun and useful for those that know it.

                      1. 6

                        Hey, I start new projects in Common Lisp! It’s still a great choice.

                        1. 3

                          And I start personal projects in Perl… it doesn’t mean that corporations with multi-year maintenance horizons do, though.

                          1. 2

                            AFAIK google uses lisp and has contributed to sbcl. And fastmail uses perl.

                            1. 2

                              If Google uses lisp it’s for something incredibly specific and obscure. You absolutely could not start a new lisp project at Google.

                              1. 4

                                The shambling corpse of ITA Software perhaps?

                                1. 1

                                  I actually don’t know. I could look it up, but I couldn’t say if I did. ¯\_(ツ)_/¯

                      2. 8

                        Yikes this article suffers from some serious confirmation bias:

                        That makes one wonder about who else is still using Perl? if any? Can’t remember the last time I’ve heard about it.

                        (References to various relative popularity measures follow as evidence of this assertion.)

                        There is a positively enormous amount of Perl out there and will be for many years to come. It won’t show up in your relative popularity surveys because most of it isn’t open source. It’s wriggling around in legacy repositories that back legacy systems which Just Work and have for years and years.

                        Make no mistake, Perl was the lingua franca of system automators, data wranglers, genomics and a slew of other disciplines I can’t think of off the top for many, many years.

                        There’s no doubt that the amount of greenfield Perl code being written is in steady decline, but much like every other programming language people love to jump up and down about and declare dead (Java or COBOL anyone?), the declaration of death is very premature.

                        1. 6

                          I’m absolutely baffled by people who claim Java is dead. Regardless of how much any particular person wants that to be true, the idea is completely bananas.

                          1. 2

                            Totally agree! It’s all about the confirmation bias. People live in a bubble of a particular flavor - say Python. Everybody uses Python, right? All the cool kids are doing it! We have Java. Too much Boilerplate. NOBODY uses Java. Java is dead!

                            Except meanwhile there are literally millions of lines of it propping up civilization in some incredibly critical places :)

                        2. 6

                          I think Perl is slow to really go extinct because it is used as a tool very often (like sed and awk). If you know Perl, and you need to do this one specific one off thing, Perl is going to be a easy route to do it. Maybe no one wants to use it in new big projects, but it still comes in very handy when needed.

                          1. 5

                            I found this article pretty fun, especially after the announcement of Perl 7 (which I like a lot). The author is a person doing HFT and having experiences with the banking sector, and I came to it following an article about the removal of the last perl program in JP Morgan.

                            It just shows that how different people will interpret different things differently. Will Perl die by 2023? Most probably not. What it means die? Who knows, but I bet for the author it means he won’t encounter new Perl programs. And after the Perl 7 announcement, I really hope he’ll be in the wrong.

                            1. 5

                              Random paint splatters evaluating to valid perl programs is amazing

                              1. 4

                                Not quick enough. I still have nightmares of the Amazon codebase in Perl. Somehow the most of the tech guys had this view that Perl is the best programming a language for everything except Linux kernel + drivers.

                                1. 8

                                  Most of the code you’re referring to was written at a time when the choices for the kinds of tasks it was being put to were largely Perl or C/C++.

                                  Given that, their decision makes a lot of sense.

                                2. 4

                                  “Look I’m a technical person and can do anything, including statistics and fortune telling.”

                                  1. 4

                                    DuckDuckGo still uses Perl, and often advocates for modern Perl. I assume that’s because they know how powerful it can be when it comes to string manipulations. It offers very powerful string matching techniques. http://modernperlbooks.com/books/modern_perl_2014/

                                    1. 1

                                      Booking.com is still written in Perl, they hire 100s of Perl developers in Amsterdam.

                                    2. 3

                                      I’m thoroughly confused by the Python in RHEL8 bit. How can yum install python3 work without Python if yum is written in Python?

                                      1. 13

                                        RHEL includes a “system Python” which is essentially a stripped-down Python with just the parts required to run yum and some other system tools. There are no stability guarantees for it and it’s strongly discouraged to use it for anything other than RHEL internal use.

                                      2. 3

                                        I know I’m doing my part to kill this beast as fast as possible. At work, there is still this giant ~25k LoC code generating perl script that I haven’t even begun to unravel.

                                        Perl and Python have always come pre-installed on Linux. If I remember well, there was actually a Posix specification or something that had it as a requirement.

                                        I think the author was referring to Linux Standard Base

                                        In terms of the question:

                                        It’s only a matter of time before other distributions follow. The next logical step is for Perl to go away, the only question is when?

                                        As long as Git still depends on perl based modules, I don’t think it will be permanently gone any time soon. Maybe someone will reimplement them in not-perl, but I don’t know if anyone is working on that. Actually I’m not even sure perl is ootb in RHEL.

                                        1. 8

                                          Git has been steadily rewriting the parts in shell script and Perl in C for years. I haven’t been following closely, so I don’t honestly know where that situation is, but I somewhat doubt that Git’s going to be Perl’s saviour by 2023.

                                          1. 11

                                            Current git master contains 13k lines of Perl code in 41 files, which is actually not all that much compared to 281k lines of C code. Much of it actually seems related to GIT:SVN, git-cvsserver, gitweb, and other stuff that’s not used all that frequently. The only fairly common things are git send-email and git add --interactive, but I think vast swaths of people have ever used either.

                                            Either way, from the looks of it, you can create a perfectly functioning git build without Perl already. The Makefile has a NO_PERL flag for it.

                                            1. 3

                                              I recently discovered the add.interactive.usebuiltin setting, which uses a C implementation for git add --interactive. It is not enabled by default since I guess it is still experimental, but I haven’t run into any problems so far.

                                            2. 5

                                              OpenBSD’s packages system is largely written in Perl IIRC.

                                          2. 1

                                            Seems about time.