News for hackers. Stuff that matters.
Re:Perl 7 is going to be Perl 5.32, mostly by banana_giraffe on Wednesday June 24, 2020 @12:31PM (#23630074)
They last line of the article summarizes it well:

> Perl 7 is v5.32 with different settings. Your code should work if it’s not a mess. Expect a user release within a year.

Are there actually people that are still deploying new things in Perl? The only times I see it is for legacy stuff, and then only because the script is too much of a hassle to be rewritten.

Re:Perl 7 is going to be Perl 5.32, mostly by iso1631 on Wednesday June 24, 2020 @03:12PM (#23632494)
I wrote a quick perl script earlier today to push crt.sh results for a bunch of domains into slack.

Took about 30 minutes, far less time than messing about with why pip has broken on my desktop yet again:

  Traceback (most recent call last):
  File "/usr/local/bin/pip", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.5/dist-packages/pip/_internal/cli/main.py", line 73, in main
    command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
  File "/usr/local/lib/python3.5/dist-packages/pip/_internal/commands/__init__.py", line 96, in create_command
    module = importlib.import_module(module_path)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 665, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/usr/local/lib/python3.5/dist-packages/pip/_internal/commands/search.py", line 18, in <module>
Re:Perl 7 is going to be Perl 5.32, mostly by b5n on Wednesday June 24, 2020 @08:31PM (#23635479)
I understand no one wants to deal with unexpected issues, especially when you're trying to get something done. Why not use virtual environments? You keep packages out of your system's python, and if you run into issues like above you can just recreate it:

  b5n:~/venv_dir$ python3 -m venv im_a_venv
  b5n:~/venv_dir$ . im_a_venv/bin/activate
  (im_a_venv)b5n:~/venv_dir$ pip install requests
  (im_a_venv)b5n:~/venv_dir$ pip freeze > requirements.txt
  (im_a_venv)b5n:~/venv_dir$ deactivate

  b5n:~/venv_dir$ python3 -m venv another_venv
  b5n:~/venv_dir$ . another_venv/bin/activate
  (another_venv)b@b5n:~/venv_dir$ pip install -r requirements.txt
Re:Perl 7 is going to be Perl 5.32, mostly by iso1631 on Thursday June 25, 2020 @03:57AM (#23638019)
The reason I use linux and perl (or sometimes bash) - it just works, I get the least number of surprises. Dependencies in perl are handled by my OS same as everything else, I don't need to maintain multiple package managers, I just bash out the script and move on

I don't write software as an end goal, I write software to accomplish my end goal.

Re:Perl 7 is going to be Perl 5.32, mostly by anonymousCar on Thursday June 25, 2020 @03:39AM (#23637887)
While experienced python devs will say, yeah that'd how you should do it. The problem is that python by default isn't using virtualenvs. Consider rust or is where you need to specify global installs.
Re:Perl 7 is going to be Perl 5.32, mostly by elwell on Wednesday June 24, 2020 @10:06PM (#23636116)
I spent 15 seconds trying to figure out how that 'Perl code' runs...
Re:Perl 7 is going to be Perl 5.32, mostly by lgl on Wednesday June 24, 2020 @01:34PM (#23631125)
> Are there actually people that are still deploying new things in Perl?

My personal experience: at one of my previous jobs we've had the need to find a support ticket system (preferably free) that was flexible enough to handle a few hundred email accounts with different signatures, headers, reply templates, queues, filters, and more for each individual account. At the time the "winner" was OTRS [0] [1], a system in Perl that is super flexible and had a free version (more recently renamed to community edition since it detached a bit from their enterprise version).

It served us well enough that I have deployed it again on my current job when a similar but smaller need arose (both jobs in tourism industry). It's a pretty big and complex thing but does it's job well once configured correctly which does take a bit of work.

> The only times I see it is for legacy stuff, and then only because the script is too much of a hassle to be rewritten.

That can possibly be the case here since it is "old" (changelog lists the first public beta at 2002) but has had pretty much continuous development until this day. Any company trying to develop something like this these days would probably choose something else but I guess they're a Perl shop now.

[0] - https://github.com/OTRS/otrs

[1] - https://otrs.com/

Re:Perl 7 is going to be Perl 5.32, mostly by roywashere on Wednesday June 24, 2020 @01:49PM (#23631349)
I actually worked for OTRS for some years. It is quite a remarkable company as it is creating an open source line of business software with a nice team of people and is making a sustainable business out of it. There are not much other software companies that managed to do this.

Yes, you can call them open core now. But still many companies are using the community edition and are served well by it.

I worked closely with the technical founder and he started the pre-decessor of OTRS in the 90s while working at SUSE, and yeah of course it was in Perl!

I must say that working on the quite significant OTRS code base, with proper code conventions, 'modern' perl5 is not so bad. But when using third party libraries sometimes you'd see arcane language usage and there seems lots of magic involved...

Also, the technical founder started https://zammad.org -- the same idea but started in 2012 or so. So now it's Ruby!

Modern perl5 is ok. But the ecosystem is slowly deteriorating.

Re:Perl 7 is going to be Perl 5.32, mostly by yellowapple on Wednesday June 24, 2020 @02:40PM (#23632096)
What I'm hoping for is that Perl 7 will enforce those "proper code conventions" and mitigate that deterioration. Making a lot of common pragmas the default is a good start there.
Re:Perl 7 is going to be Perl 5.32, mostly by lgl on Wednesday June 24, 2020 @03:28PM (#23632723)
Nice, thanks for the link and for your contributions to OTRS, it has improved workflows tremendously on both companies I've set it up on. I've messed around on some of the source and template files for some dirty hacks over the years and did get the impression of it being very well structured and with pretty clear separation of concerns even though I'm not a Perl coder.
Re:Perl 7 is going to be Perl 5.32, mostly by politelemon on Wednesday June 24, 2020 @12:42PM (#23630340)
Yes... We have some high revenue, important contract type systems written a long time ago and maintained by the same subject matter experts who simply move the codebases (old and new) to newer systems and stacks. As you can tell, the SMEs have no interest in learning other things and so any new initiatives that require them to implement it is subject to their preferences.
Re:Perl 7 is going to be Perl 5.32, mostly by hinkley on Wednesday June 24, 2020 @12:54PM (#23630536)
Many places don’t support antifragility. Having an old system that nobody wants to rewrite may not be a reflection on the engineers.

You’re an expert, and a rewrite is going to expose you to a lot of scrutiny. You are going to break things, when maybe you haven’t broken things in a long time and people like it that way.

So when some day arrives where a new fad is hot and it’s hard to impossible to find Perl programmers, the will create a new team to rewrite it badly because now they have no other choice. And of course the new folks are going to screw up, but that’s just expected.

Re:Perl 7 is going to be Perl 5.32, mostly by yellowapple on Wednesday June 24, 2020 @02:31PM (#23631962)
> and it’s hard to impossible to find Perl programmers

Which I'm finding harder to understand as I learn more languages. Yeah, every language has its differences and idiosyncrasies, but as long as you have access to docs (if not third-party resources like expert blogs or Stack Overflow) it's pretty straightforward to figure those out and be reasonably productive relatively soon.

That is: a senior programmer should have enough background knowledge to be able to be productive on any language ("polyglot" shouldn't be a big deal), and a junior programmer won't typically have enough experience in any particular language to be definitively a "$LANGUAGE programmer". In either case, whether or not a programmer already knows the language before being hired is kind of a moot point.

My current dayjob was the first time I had written any non-trivial amounts of Python, Javascript, or C# in a professional capacity in my whole career. Being productive on them wasn't terribly hard - it's just different syntax around a lot of the same concepts (and sure, there were also some new concepts - took a good while for me to wrap my head around async/await, for example, coming from a background of message passing between threads or processes or actors - but those can be learned).

Usually the choice of programming language is far less significant as a barrier to one's understanding of a codebase than, say, the actual problem domain. Writing software for, say, a warehouse tends to necessitate knowing an awful lot about how warehouses work; whether or not you happen to know a given programming language is entirely secondary to whether or not you know the difference between a picker and a packer, or between a replenishment and a cycle count. Similar deal in medicine, or education, or manufacturing, or sales, or finance, or what have you.

Re:Perl 7 is going to be Perl 5.32, mostly by hinkley on Wednesday June 24, 2020 @02:44PM (#23632141)
A former boss was fond of saying "Software is done when nobody is willing to work on it anymore."

New people make idiomatic mistakes, and if the language isn't cool they expect more money. Recruiting people is harder, so you tend to get stuck with the people you have, and managers tend to bristle at that. Eventually a new language full of people who look like cogs is going to win out. I hate that this is true, but it is.

I maintained a Python test harness for a while. No prior experience with Python. I mostly stayed out of trouble, in part because I set low expectations, tried nothing fancy. But it wasn't what I wanted to be doing, and not what I wanted the team to be doing. When I left they finally canned the entire thing.

Re:Perl 7 is going to be Perl 5.32, mostly by lmm on Wednesday June 24, 2020 @09:47PM (#23636004)
> Python, Javascript, or C#

Those are all pretty basic Algol-family languages (at least if we're talking vaguely modern Javascript). If you were thrown in to J or Forth or Erlang you might have a different experience.

Re:Perl 7 is going to be Perl 5.32, mostly by yellowapple on Thursday June 25, 2020 @04:17AM (#23638138)
Funny enough, Erlang is my preferred language (or at least one of them).

I don't know if I'd necessarily call the JS in question "modern", though. It's running on RhinoScript, which needless to say ain't exactly the latest hotness. Still, the platform in question does happen to support/encourage AMD modules (with some special comments for certain components), so I guess it could be worse.

Re:Perl 7 is going to be Perl 5.32, mostly by gmmeyer on Wednesday June 24, 2020 @01:19PM (#23630915)
There's no need to rewrite a system that works and that you're not gonna change. While programming languages go out of fashion there will always be people who are capable of writing them. The median age of a cobol programmer has not changed in 20 years because more people keep learning the language.

Demand in this case, will likely create its own supply.

Re:Perl 7 is going to be Perl 5.32, mostly by ChiranSoogoor on Thursday June 25, 2020 @07:05AM (#23639226)
Wisdom is in not in spending years and millions rewriting billions of lines of cobol code into a new language and then rewriting that other language into another newer language and so on … what's the problem in maintaining what's already working?!!
Re:Perl 7 is going to be Perl 5.32, mostly by hinkley on Wednesday June 24, 2020 @02:15PM (#23631731)
I tend to replace my car when it starts to show signs of future problems, not when I'm up to my eyeballs in repairs.

We shouldn't really be treating software differently. The liability for a mission critical system that works but cannot be repaired climbs over time.

Just because it works doesn't mean it isn't broken.

Re:Perl 7 is going to be Perl 5.32, mostly by derriz on Wednesday June 24, 2020 @02:41PM (#23632112)
That analogy doesn't really work - software doesn't get worn out from interaction with users. If software is working and in use, then it's age doesn't matter.

Evolution/flux is not the natural state of all software. I've seen plenty of business/enterprise software which has continued to provide business value for decades without structural or architectural changes.

Re:Perl 7 is going to be Perl 5.32, mostly by hinkley on Wednesday June 24, 2020 @02:48PM (#23632192)
Lots of security patches and infrastructure are held hostage by breaking changes to APIs. Eventually you have to upgrade, and the longer you have put it off the more painful it will be.

And as we've seen with old video games, there are lots of timing problems that you simply never encounter on the original hardware but are impossible to ignore on recent vintage hardware.

Re:Perl 7 is going to be Perl 5.32, mostly by codr7 on Wednesday June 24, 2020 @03:16PM (#23632552)
There are plenty of silly reasons to rewrite a piece of code, but language preference has to be one of the worst.

Now that I think about it, that's actually a decent hiring test:

Tell the candidate part of their job will be maintaining a small Perl codebase. If they can't deal with that without throwing a fit, I have no interest in working with them.

It's a sharp tool, if you're not careful someone might get hurt. But professionals deal with sharp tools all the time, especially when it's the best tool for the job.

Re:Perl 7 is going to be Perl 5.32, mostly by CountSessine on Wednesday June 24, 2020 @01:20PM (#23630930)
the will create a new team to rewrite it badly because now they have no other choice

Given Perl’s legendary code-opacity and maintenance challenges, this kind of seems inevitable. After all, if you could at least read and decipher the old code, maybe you could reproduce it!

Re:Perl 7 is going to be Perl 5.32, mostly by hpcjoe on Wednesday June 24, 2020 @06:04PM (#23634392)
Lots of new things. Perl is an immensely powerful language. If you know how to write code well, it will be fully comprehensible by even casual programmers.

Many orgs ship perl based tools as current, up-to-date products. Mellanox OFED is one I was using earlier today.

My own github[1] has a plethora of perl projects.

[1] https://github.com/joelandman

Re:Perl 7 is going to be Perl 5.32, mostly by papito on Wednesday June 24, 2020 @02:05PM (#23631592)
IMDB was written in Perl, notoriously. Seeing that the layout has not changed in ages, I can only assume it's still Perl.

I'd imagine a bigger rewrite effort would have led to a more slick iteration on the UI, and it seems the legacy HTML templates are still baked in.

Re:Perl 7 is going to be Perl 5.32, mostly by yellowapple on Wednesday June 24, 2020 @02:43PM (#23632129)
DuckDuckGo's also written in Perl, and doesn't seem to have any trouble maintaining a reasonably-modern-looking UI.
Re:Perl 7 is going to be Perl 5.32, mostly by hpcjoe on Wednesday June 24, 2020 @06:10PM (#23634432)
And their interview process is apparently, contribute a useful feature to the code base. Which, IMO, is brilliant.
Re:Perl 7 is going to be Perl 5.32, mostly by Scarblac on Wednesday June 24, 2020 @03:15PM (#23632534)
Booking.com is also (notoriously) completely written in Perl.
Re:Perl 7 is going to be Perl 5.32, mostly by hpcjoe on Wednesday June 24, 2020 @06:09PM (#23634428)
Hmm ... don't conflate the presentation UI with the underlying language. I wrote my companies website (2 jobs ago) in Mojolicious (perl web framework), with a responsive UI, based in part upon bootstrap. Very modern (for the time) UI. All backed by a very fast implementation.

IMDB seems plenty fast to me. UI isn't great, but that's more of a presentation layer design thing than a language thing.

Re:Perl 7 is going to be Perl 5.32, mostly by papito on Wednesday June 24, 2020 @10:42PM (#23636339)
I am not actually talking about the quality of the UI - I am just pointing out that the UI seems to have been the same for years now, and I would think a rewrite from Perl would have changed that. Yes, you can totally swap out the backend, but IMDB codebase is old. HTML and the sprinkled JS (if you look at page source) is probably baked in deep.
Re:Perl 7 is going to be Perl 5.32, mostly by mmcclimon on Wednesday June 24, 2020 @02:19PM (#23631784)
Nearly everything at Fastmail is in Perl. Cyrus, which is the mail storage engine, is in C (and open-source), but everything else is Perl.
Re:Perl 7 is going to be Perl 5.32, mostly by ainar-g on Wednesday June 24, 2020 @01:13PM (#23630814)
Re:Perl 7 is going to be Perl 5.32, mostly by austincheney on Wednesday June 24, 2020 @01:27PM (#23631026)
The primary use case of Perl is systems automation. Personally I prefer Node.js but most Linux distributions come with a Perl interpreter already installed and not Node. If you are working in an enterprise environment and for security reasons are not allowed to install software, which is common, you can still perform automation with Perl scripts.
Re:Perl 7 is going to be Perl 5.32, mostly by ww520 on Wednesday June 24, 2020 @01:27PM (#23631023)
Yes. You’ll be surprised. Some of the biggest tech companies still use Perl in their critical components in production, and some of the initiatives are in recent years.
Re:Perl 7 is going to be Perl 5.32, mostly by jhowell on Wednesday June 24, 2020 @12:52PM (#23630511)
I think the US Courts still use Perl for Pacer (https://www.pacer.gov/psco/cgi-bin/links.pl) and it seems to be used by the US Cours as well: https://ecf.azd.uscourts.gov/cgi-bin/ShowIndex.pl
Re:Perl 7 is going to be Perl 5.32, mostly by Lammy on Wednesday June 24, 2020 @12:52PM (#23630504)
> Are there actually people that are still deploying new things in Perl?

Anecdote: I found this Perl image-hosting package a couple years ago as a self-hosted alternative to sites like Imgur, and I think it's great: https://framagit.org/fiat-tux/hat-softwares/lutim/tree/maste...

Re:Perl 7 is going to be Perl 5.32, mostly by mfontani on Wednesday June 24, 2020 @12:56PM (#23630575)
Re:Perl 7 is going to be Perl 5.32, mostly by nchelluri on Wednesday June 24, 2020 @12:32PM (#23630106)
> Are there actually people that are still deploying new things in Perl?

See https://news.ycombinator.com/item?id=23593835

Re:Perl 7 is going to be Perl 5.32, mostly by smaili on Wednesday June 24, 2020 @12:42PM (#23630343)
IIRC Craigslist was written in Perl but that's the only high traffic site that comes to mind.
Re:Perl 7 is going to be Perl 5.32, mostly by Twirrim on Wednesday June 24, 2020 @01:38PM (#23631184)
The Amazon retail site is written in perl (at least the presentation layer still is, you can find mason references still in the HTML source if you go looking, don't know how much else behind it is in perl).

https://metacpan.org/pod/Mason (if you're not familiar with Mason)

Re:Perl 7 is going to be Perl 5.32, mostly by autarch on Wednesday June 24, 2020 @11:27PM (#23636588)
Actually, that's Mason 2. Amazon use(s|d) the OG Mason - https://metacpan.org/release/HTML-Mason
Re:Perl 7 is going to be Perl 5.32, mostly by petethered on Wednesday June 24, 2020 @01:12PM (#23630796)
Duck Duck Go and Booking.com were/are Perl backends.
Re:Perl 7 is going to be Perl 5.32, mostly by cutler on Wednesday June 24, 2020 @01:54PM (#23631420)
The fashion retailer Net-A-Porter has been a Perl shop since 2000. Haven't checked if that's still the case. They used to employ quite a few leading lights in the UK Perl community a few years ago.
Re:Perl 7 is going to be Perl 5.32, mostly by chubot on Wednesday June 24, 2020 @01:32PM (#23631093)
I think they still write everything in Perl, and they employ Larry Wall (or they did several years ago, last I heard)
Re:Perl 7 is going to be Perl 5.32, mostly by 1-more on Wednesday June 24, 2020 @12:57PM (#23630600)
I know some fantasy sports site was, maybe CBS? I had a UX designer colleague who had worked on that.
Re:Perl 7 is going to be Perl 5.32, mostly by hnlmorg on Wednesday June 24, 2020 @01:19PM (#23630912)
A surprisingly large number of fantasy sports sites are.

Perl is everywhere, it's just not widely publicised because of the stigma attached to the language.

Re:Perl 7 is going to be Perl 5.32, mostly by ori_b on Wednesday June 24, 2020 @01:08PM (#23630755)
duckduckgo, as far as I recall.
Re:Perl 7 is going to be Perl 5.32, mostly by redis_mlc on Wednesday June 24, 2020 @07:18PM (#23634963)
imdb.com is perl.

Most of the ad network backend sites are perl, including a lot of Yahoo.

Re:Perl 7 is going to be Perl 5.32, mostly by benbristow on Wednesday June 24, 2020 @12:47PM (#23630421)
I used to work for a company that used Perl as their primary language.

The codebase was millions of lines long, modules (pm files) with like 1000 methods and 10,000 lines, a total mess and it had 0 unit tests too. Almost beyond salvageable. Left a bit of a sour taste.

They're trying to migrate to AWS but AWS don't even natively support Perl in their libraries. There's a few third party libraries in CPAN but nothing as comprehensive as what's available with official libraries for other languages.

Nothing against the language but I don't know why you wouldn't use literally anything else nowadays. Python or PHP, JavaScript or even Ruby if you're looking for a dynamically typed language. AWS don't even support Perl.

Re:Perl 7 is going to be Perl 5.32, mostly by psadri on Wednesday June 24, 2020 @12:58PM (#23630615)
Perl used to have one of the most extensive module libraries. One of the things I miss about Perl was it’s more sensible module namespace convention (Eg Net::... for networking related) vs the more hip but confusing and hard to discover naming of node modules.
Re:Perl 7 is going to be Perl 5.32, mostly by matt-attack on Wednesday June 24, 2020 @02:36PM (#23632042)
Yes, the hierarchical namespace for modules was super nice. Migrating to a flattened package structure of npm was a disappointment. I ended up encoding the same type of structure in internal npm package names, e.g. "@myorg/net-aws-.." and "@myorg/file-..."
Re:Perl 7 is going to be Perl 5.32, mostly by proverbialbunny on Wednesday June 24, 2020 @05:36PM (#23634158)
Keep in mind TDD wasn't really invented yet, so it's understandable.

Also, CPAN had better libraries than pip did all the way up until I last used Perl in 2015. Ofc, it depends on what you're doing. My point is, there was a reason to use Perl once upon a time ago.

The alternatives back then were PHP, C, C++ (the old bad kind), BASIC, assembly, FORTRAN, and others like Smalltalk. Seeing this, it's understandable why Java took the world by storm the same way Perl did.

Re:Perl 7 is going to be Perl 5.32, mostly by cutler on Wednesday June 24, 2020 @06:02PM (#23634377)
I don't know about TDD specifically but we have the Perl community to thank for setting the bar for rigorous testing back in the ealry 2000s with the numerous Test:: modules on CPAN.
Re:Perl 7 is going to be Perl 5.32, mostly by snapdangle on Thursday June 25, 2020 @04:12AM (#23638109)
Perl and CPAN definitely do not get enough flowers for their contribution to TDD.
Re:Perl 7 is going to be Perl 5.32, mostly by JJMcJ on Wednesday June 24, 2020 @01:14PM (#23630831)
Last Perl shop I worked at was newer than the company you described but well on its way toward being like this.

Since Perl code is often very compact, it probably needs a higher comment to code ratio than most other languages, but you don't see that either.

Re:Perl 7 is going to be Perl 5.32, mostly by ugexe on Wednesday June 24, 2020 @12:51PM (#23630489)
Your opinion on Perl is based on one code base you worked at on one job?
Re:Perl 7 is going to be Perl 5.32, mostly by w0m on Wednesday June 24, 2020 @12:56PM (#23630583)
Honestly that's more than most I think. I've written tens of thousands of lines of perl professionally and I generally share the same opinion.
Re:Perl 7 is going to be Perl 5.32, mostly by nchelluri on Wednesday June 24, 2020 @01:03PM (#23630672)
I've been writing (Modern) Perl for about 3.5 years and I disagree that Perl necessarily tends to unreadable code. I really don't think that's true at all.

To quote myself from a recent discussion:

I think some languages do make it easy to write convoluted code, but through judicious use of coding standards (including a helping of common sense [don't be clever where you can at all avoid it, which IME is ~~almost~~ all the time], code linters, and so on) I think how you use a language plays a huge part in code maintainability.

For instance, I've heard PHP get shit on pretty badly all around the web, but I've worked at PHP shops that had nice, clean codebases, and my current Perl codebase is, in many ways, nicely structured. That's not to say there aren't some hairy codepaths that could use refactoring, but I really think that kind of thing, again, can happen in almost any language.

Re:Perl 7 is going to be Perl 5.32, mostly by lmm on Wednesday June 24, 2020 @10:10PM (#23636156)
I think a useful concept is that a project will have a "discipline budget", just like the "language strangeness budget". Yes, if you're careful with your self-restraint and code reviews, you can write good, clean, maintainable code in a language that doesn't give you a lot of support for that. But if you do that then you're expending your limited supply of discipline, and will have less to spend on other aspects of the project like not scaling prematurely, not using cool-but-unnecessary tech...
Re:Perl 7 is going to be Perl 5.32, mostly by nchelluri on Wednesday June 24, 2020 @10:20PM (#23636220)
Very interesting thought! I think I'll steal it.
Re:Perl 7 is going to be Perl 5.32, mostly by aeontech on Wednesday June 24, 2020 @01:09PM (#23630764)
Strongly agreed. It’s much more about the team, the conventions used, the organization of the codebase, and the coding culture of the team, than it is about a specific language.
Re:Perl 7 is going to be Perl 5.32, mostly by jimbokun on Wednesday June 24, 2020 @02:54PM (#23632279)
True, but the cultures that grow up around a specific language tend to encourage certain conventions, standards of organization, and team coding cultures.
Re:Perl 7 is going to be Perl 5.32, mostly by ed25519FUUU on Wednesday June 24, 2020 @01:33PM (#23631111)
Under that standard it’s true, but it’s also true for virtually any language and is therefore not a good defense of whether or not a language lends itself to unreadable code.
Re:Perl 7 is going to be Perl 5.32, mostly by nchelluri on Wednesday June 24, 2020 @01:42PM (#23631239)
There are a couple of points in there:

1. You can use virtually any language to write clean code

Not sure if I agree with this, though it may well be true. I just know there are some things like Brainfuck where it's designed to be impossible. I realize that language is created specifically for the purpose of making a coder say "WTF", but perhaps there are other languages that are not designed to be so that are really nearly impossible to write good code in.

2. Perl lends itself to unreadable code

If you stick to Modern Perl you still might end up with things like `wantarray` in your code so I guess this is kind of true. You need to be judicious in your use of code.

Some languages lend themselves more easily to writing clean code, like I feel about Go or if you hate the Go type system, Ruby. Even in Ruby I feel like metaprogramming is ripe for misuse.

It's a tough thing to talk about. I don't feel like I wholeheartedly disagree with your sentiment which seems to be "some languages lend themselves to bad code" and subsequently that Perl lends itself to bad code but there is plenty of ambiguity in these thoughts.

Re:Perl 7 is going to be Perl 5.32, mostly by hpcjoe on Wednesday June 24, 2020 @06:24PM (#23634567)
In my 30 years (yes) working with Perl (4->5.32), I have never, once, used wantarray. Perl does not lend itself to bad code. Bad coders, people whom cannot use or articulate good practice in coding or documentation, lend themselves to write bad code, in any language.

I used it for automation of my calculations in grad school. For data analysis. For monitoring.

In my subsequent day jobs, I used it to develop shipping products. No one really should care what language something is written in, if it does the job well.

Most recently (a few weeks ago), I used it as the driver for creating and submitted 10's of thousands of jobs for COVID19 research the team I am working with[1][2].

For the above project, I had to forward port 12 year old C++ code to make use of modern C++ based boost libraries. Took a bit of time to fix this. But the perl code, ran perfectly, and quickly[3].

Anyone trying to portray things otherwise, likely has a longstanding axe they like to grind. Language advocacy can be done without attempting to tear down other languages. Though those who argue against perl often bring up the same, old, tired, and incorrect points.

I'll keep using perl thank you. And Julia. And C. Each has their domain of applicability. Most people know and understand this.

[1] https://community.hpe.com/t5/advantage-ex/how-my-supercomput...

[2] https://community.hpe.com/t5/advantage-ex/the-story-of-how-i...

[3] https://scalability.org/2020/04/fun-and-topical-hpc-project-...

Re:Perl 7 is going to be Perl 5.32, mostly by jschwartzi on Wednesday June 24, 2020 @01:10PM (#23630776)
Yeah, I've got a Perl codebase that's conservatively tens of thousands of lines, and it's honestly a struggle to write anything in it that isn't a big ball of mud. There's about 50 different ways to do anything in the language, the syntax is infuriatingly obtuse, and you can't rely on any documentation because it will recommend doing things that experts don't recommend doing.

The system is from like 2013 and still going, but I really wish I could rewrite it in a language I can actually train people on in a reasonable amount of time. It took the one junior I have about 6 months to get to the point where he could read the syntax without tearing his hair out. It's not really built to create maintainable structures.

The libraries and stuff are full of opinionated little "gotchas." As an example, the Test::Simple module will throw errors if you use a number to title a test which is infuriating when you're writing a test which tests all the numbers in the space of acceptable or possible inputs.

Re:Perl 7 is going to be Perl 5.32, mostly by benbristow on Wednesday June 24, 2020 @01:16PM (#23630847)
Perl's syntax is really confusing.

Especially for example how variables have symbols for different types ($ for scalars, % for hashes, @ for arrays). And if you want to for example pass an array to a function you have to send it manually referenced with like method(\@myArray) which then inside the method is contained in a $scalar.

Compared to Python for example where you'd literally just pass the array to the method like method(array).

Re:Perl 7 is going to be Perl 5.32, mostly by cutler on Wednesday June 24, 2020 @01:51PM (#23631378)
For many years Perl subroutines didn't even have method signatures so you had to unroll @ on the first line of every sub. I think even today it may still be considered experimental. Jeez!
Re:Perl 7 is going to be Perl 5.32, mostly by daotoad on Wednesday June 24, 2020 @06:08PM (#23634420)
The reason for the @_ is that it is a simple way to get both pass by value and pass by reference semantics.

The values in @_ are aliased to the values in the subroutine call.

Most of the time, you want pass by value semantics, so you unpack the array and copy the values into function variables. If you want to modify an argument, it's typically passed in as a reference, and you can mess with it that way.

However, there are times when it would be horribly inefficient to make those copies, or when you need to do some magic (generally best avoided in 99.999% of your code), that this makes possible.

Also, since Perl functions are always variadic, it means that it's easy to work with a variable list of arguments in a function. For example, if you are expecting a list of key value pairs for your function, you can simply write:

  my %args = @_
Making signatures default will be a big improvement, but the power of the simple abstraction @_ provides should not be underestimated. It's actually an elegant solution to a complex problem.
Re:Perl 7 is going to be Perl 5.32, mostly by benbristow on Wednesday June 24, 2020 @02:02PM (#23631544)
Yeah it's pretty archaic. Shortest hand way of doing it is like this:

  sub method {
    my ($self, $a, $b, $c) = @_;
  }
$self being a reference to the current module (ala Javascript's 'this')
Re:Perl 7 is going to be Perl 5.32, mostly by cutler on Wednesday June 24, 2020 @02:34PM (#23632001)
$self is only for OOP so not needed in a regular subroutine.
Re:Perl 7 is going to be Perl 5.32, mostly by mfontani on Wednesday June 24, 2020 @01:34PM (#23631126)
> Compared to Python for example where you'd literally just pass the array to the method like method(array).

How does one tell Python to pass the contents of said array as distinct parameters to the function, instead of as a lone array parameter?

In Perl, that's the difference between foo(@bar) and foo(\@bar) or foo(1, 2, 3) vs foo([1, 2, 3]).

Re:Perl 7 is going to be Perl 5.32, mostly by cesarb on Wednesday June 24, 2020 @01:54PM (#23631414)
> How does one tell Python to pass the contents of said array as distinct parameters to the function, instead of as a lone array parameter?

With an asterisk: method(*array)

Re:Perl 7 is going to be Perl 5.32, mostly by mfontani on Wednesday June 24, 2020 @06:09PM (#23634425)
Right, which I sorta kinda get why coming from C - a *something is the thing pointed to by that something.

How is that more understandable than @ vs \@ without knowing the language? My guess is it isn't.

Re:Perl 7 is going to be Perl 5.32, mostly by joshuamorton on Thursday June 25, 2020 @03:02AM (#23637676)
Python is "relatively" consistent about * and being used to expand or contract arrays and dicts, respectively.

   a, *, b = [1,2,3,4]
   def foo(*args):
   bar(*[1,2,3])
all do "what you'd expect" from the single concept that "* is sort of pattern-matchy for an array".

But the more important bit is just that you don't have to prefix variables with @ and $. Python is optimized for writing code that acts on variables, while perl is optimized for code that acts on strings. While strings are certainly a common data type, most code isn't modifying strings directly. So optimizing for that case doesn't make a lot of sense.

Re:Perl 7 is going to be Perl 5.32, mostly by rjeli on Wednesday June 24, 2020 @11:00PM (#23636446)
As someone who learned python first - the idea that `myfn(@xs)` would call `myfn(1,2,3)` is... unnerving. Implicitly splicing in arguments makes me wonder what other kind of syntactic oddities are going over my head in my code.
Re:Perl 7 is going to be Perl 5.32, mostly by kansface on Wednesday June 24, 2020 @01:56PM (#23631450)
a = [1]

def f(b):

   print(b)
f(a)

f(*a)

Re:Perl 7 is going to be Perl 5.32, mostly by tolger on Thursday June 25, 2020 @06:33PM (#23646530)
I can say the same thing about a legacy Java codebase that I had to work with at a big "enterprise" software company a few years ago. The code was so convoluted, with some files over 12k lines long. You can write spaghetti code in any language.
Re:Perl 7 is going to be Perl 5.32, mostly by briansteffens on Wednesday June 24, 2020 @01:34PM (#23631121)
How much and what kind of experience do you think someone should have with a language before beginning to form an opinion?
Re:Perl 7 is going to be Perl 5.32, mostly by runamok on Wednesday June 24, 2020 @04:39PM (#23633570)
They mention aws library support as another major concern too.
Re:Perl 7 is going to be Perl 5.32, mostly by mirchibajji on Wednesday June 24, 2020 @02:35PM (#23632017)
> There's a few third party libraries in CPAN but nothing as comprehensive as what's available with official libraries for other languages.

That is true. This alone might be a good reason to look elsewhere for new projects.

However, for existing Perl codebases, PAWS is comprehensive and popular library, and is generated from the official botocore: https://github.com/pplu/aws-sdk-perl

Re:Perl 7 is going to be Perl 5.32, mostly by redis_mlc on Wednesday June 24, 2020 @06:59PM (#23634827)
> There's a few third party libraries in CPAN but nothing as comprehensive

There's 194,000 modules, which is probably the most of any language:

https://www.cpan.org/

> Nothing against the language but I don't know why you wouldn't use literally anything else nowadays.

Gee, let me see:

- Perl's Mojolicious web framework is probably the most powerful today.

https://mojolicious.org/

- Perl has moderate static typing with use strict;

- Perl allows forward references, unlike Javascript or Python.

The question is why would I use anything but Perl?

Re:Perl 7 is going to be Perl 5.32, mostly by totalperspectiv on Wednesday June 24, 2020 @08:01PM (#23635288)
It is alive and kicking in the bioinformatics community!

I still think Perl is a much better tool for what some bash and python scripts are doing. Maybe Perl7 will remove some stigma and allow for people to use the tool instead of it being instantly dismissed.

Re:Perl 7 is going to be Perl 5.32, mostly by jpxw on Wednesday June 24, 2020 @12:32PM (#23630104)
Yep, I know of one company still actively using Perl for a large part of its infrastructure. It has its use cases.
Re:Perl 7 is going to be Perl 5.32, mostly by Diederich on Wednesday June 24, 2020 @01:05PM (#23630709)
One that is definitely still using Perl in a very big way is https://www.ariba.com/

Ariba isn't a household name, but it has deep and widespread connections to thousands of the largest companies in the world.

Re:Perl 7 is going to be Perl 5.32, mostly by noema on Wednesday June 24, 2020 @02:05PM (#23631585)
Are they named after a very large tropical rainforest?
Re:Perl 7 is going to be Perl 5.32, mostly by noja on Wednesday June 24, 2020 @12:39PM (#23630266)
Booking.com?
Re:Perl 7 is going to be Perl 5.32, mostly by jpxw on Wednesday June 24, 2020 @12:43PM (#23630362)
Nope :)
Re:Perl 7 is going to be Perl 5.32, mostly by paultopia on Wednesday June 24, 2020 @12:52PM (#23630501)
are the use cases all really really fancy regexes?
Re:Perl 7 is going to be Perl 5.32, mostly by HelloNurse on Thursday June 25, 2020 @07:06AM (#23639228)
Last year I had to perform date arithmetic in C shell scripts on a locked down server (no way to install or compile programs and obsolete or missing utilities).

I considered Perl, since it was the only scripting language interpreter, but the good enough (on paper) date handling libraries I found on CPAN turned out to require a far newer Perl 5 version that was available.

I'm afraid that the best-case Perl solution would have been more difficult to write than the roundabout but reliable and easy to understand final solution (Oracle SQL functions executed through the command-line SQL*Plus client).

Re:Perl 7 is going to be Perl 5.32, mostly by triangleman on Wednesday June 24, 2020 @12:42PM (#23630331)
I'm working through the Llama book, seems like a fun alternative to Python.
Re:Perl 7 is going to be Perl 5.32, mostly by lilSebastian on Wednesday June 24, 2020 @02:31PM (#23631955)
Perl is used extensively in the enterprise solutions we deliver for our client.
Re:Perl 7 is going to be Perl 5.32, mostly by rabbiveesh on Wednesday June 24, 2020 @05:27PM (#23634073)
I write new things in Perl all the time. Deploying highly functional backend services using Mojolicious, a framework which is VERY actively developed.
Re:Perl 7 is going to be Perl 5.32, mostly by lmiller1990 on Wednesday June 24, 2020 @05:39PM (#23634183)
My full-time job is working a codebase where the back-end is entirely written in perl. Codebase was started around 2014. This was probably a bad decision, the founder was a perl guy.

Perl is not bad but no new codebases should ever be written in it imo. It's to easy to shoot yourself in the foot unless you know perl REALLY well. Moose is ok but a far-cry from any modern OOP system.

Re:Perl 7 is going to be Perl 5.32, mostly by megaframe on Wednesday June 24, 2020 @01:24PM (#23630978)
Yes, I manage a set of tools and libraries written in perl that are pretty large and service the whole company. That said we're re-writing them all to Python so more people can contribute... Saddens me a little I like Perl, but I'll get over it.
Re:Perl 7 is going to be Perl 5.32, mostly by freyfogle on Wednesday June 24, 2020 @12:43PM (#23630363)
yes, definitely. If you are manipulating text, Perl is great.
Re:Perl 7 is going to be Perl 5.32, mostly by frakkingcylons on Wednesday June 24, 2020 @02:09PM (#23631647)
A lot of Debian's packaging tools are written in Perl.
Re:Perl 7 is going to be Perl 5.32, mostly by wheresmycraisin on Wednesday June 24, 2020 @10:12PM (#23636166)
Yes. The entire backend to my startup is Perl 5 (Mojolicious) + postgresql (albeit the postgresql part is obviously more important).
Re:Perl 7 is going to be Perl 5.32, mostly by 1996 on Wednesday June 24, 2020 @12:32PM (#23630109)
I do.

Efficient, cheap and stable. Ported to about everywhere.

Re:Perl 7 is going to be Perl 5.32, mostly by continuational on Wednesday June 24, 2020 @12:40PM (#23630287)
What do you mean by efficient and cheap? It doesn't fare well in https://benchmarksgame-team.pages.debian.net/benchmarksgame/... at least.
Re:Perl 7 is going to be Perl 5.32, mostly by hedora on Wednesday June 24, 2020 @04:23PM (#23633403)
There’s something fishy about that report. It says it is presenting the fastest programs, but when I click through to “all perl programs”, there are faster (often by 1-2 orders of magnitude) programs / runs:

https://benchmarksgame-team.pages.debian.net/benchmarksgame/...

For instance, the page you linked has “pidigits” at the top, and says node is faster, 2.58s vs 3.61.

2.58s is the slowest run of the fastest pidigits on the node page, but one of its runs took 1.04 seconds.

The perl page lists a 1.24 second run for “pidigits 2”.

The reported numbers in the language comparisons don’t seem to be averages.

All the pidigits programs list the same output, so presumably, they’re running with the same ‘N’.

Between the variance and inexplicable stats being applied to the results, I’m not sure what to conclude from these numbers.

Re:Perl 7 is going to be Perl 5.32, mostly by igouy on Thursday June 25, 2020 @01:13PM (#23642940)
> There’s something fishy about that report.

No, there really isn't.

> 2.58s is the slowest run of the fastest pidigits on the node page, but one of its runs took 1.04 seconds.

Notice column N — 2,000 6,000 10,000.

That's a command line argument passed to each program, controlling how many digits of pi are generated — the workload.

So, 2.58s for 10,000 digits and 1.04s for 6,000.

(And as it says, there can be a cold caches effect on the first measurements.)

Re:Perl 7 is going to be Perl 5.32, mostly by kbenson on Wednesday June 24, 2020 @12:47PM (#23630430)
Nodejs is very fast, because it uses an an engine that has had multiple millions of dollars thrown at it to make it fast. Most interpreted languages don't fare well against it.

Perl fares somewhat favorably against Python, Ruby and PHP though. Those are what I would consider equivalent languages to compare against to get a general idea of its speed.

Re:Perl 7 is going to be Perl 5.32, mostly by ksec on Wednesday June 24, 2020 @01:44PM (#23631272)
>multiple millions of dollars

I can pretty much assure you the accumulated dollars invested over the years in making JS fast is likely to be closer to multiple billions combined.

Re:Perl 7 is going to be Perl 5.32, mostly by ricardobeat on Wednesday June 24, 2020 @01:02PM (#23630665)
You don't hear about it, but Perl has had many millions thrown at it too.
Re:Perl 7 is going to be Perl 5.32, mostly by ori_b on Wednesday June 24, 2020 @01:09PM (#23630768)
JS is probably closer to billions.
Re:Perl 7 is going to be Perl 5.32, mostly by DonHopkins on Wednesday June 24, 2020 @03:38PM (#23632866)
Not just orders of magnitude more money, but more importantly the large number of incredibly talented people working full time on JavaScript, in many different companies and research institutions, collaborating together. JavaScript benefits from an overwhelming network effect and critical mass of tools and developers, that Perl just can't touch, and never will.
Re:Perl 7 is going to be Perl 5.32, mostly by sergeykish on Thursday June 25, 2020 @07:40AM (#23639462)
Unfortunately it does not change bad parts.
Re:Perl 7 is going to be Perl 5.32, mostly by yellowapple on Wednesday June 24, 2020 @03:32PM (#23632785)
Depends on what you mean by "fare well". Even in those benchmarks, Perl seems to have a lower memory footprint than Node.js in most of the results.

It's also worth noting that three of the examples (pidigits, reverse-complement, fasta) don't seem to do any multiprocessing in Perl whereas they do in Node.js. At least for reverse-complement and fasta, it should be possible to rewrite those to use multithreading (like the Node.js versions do).

Re:Perl 7 is going to be Perl 5.32, mostly by igouy on Sunday June 28, 2020 @02:58PM (#23671153)
> should be possible to rewrite those

Until someone does…

Re:Perl 7 is going to be Perl 5.32, mostly by smabie on Wednesday June 24, 2020 @12:40PM (#23630279)
What do you mean by cheap? Also, perl is incredibly inefficient: it's even slower than Python.

Also, how is Perl any less stable than other languages? Are you saying the language doesn't change much or that it doesn't crash?

Re:Perl 7 is going to be Perl 5.32, mostly by cutler on Wednesday June 24, 2020 @01:06PM (#23630729)
On my 4-core i7 Macbook Pro:

    time ./startup_time.pl  0.016s
    time ./startup_time.py  0.295s
Parsing a 20Mb log file with a regex:

    time ./parse_log.pl  0.683s
    time ./parse_log.py  1.534s
For which metric are you claiming Perl is slower than Python?
Re:Perl 7 is going to be Perl 5.32, mostly by smabie on Wednesday June 24, 2020 @03:29PM (#23632743)
Re:Perl 7 is going to be Perl 5.32, mostly by orf on Wednesday June 24, 2020 @01:36PM (#23631159)
Lets see the code? Regex has always been a Perl selling point, and you're just benchmarking the Python Regex library (written in C) against Perl's regex library. That's not a fantastic basis for a comparison.
Re:Perl 7 is going to be Perl 5.32, mostly by cutler on Wednesday June 24, 2020 @02:01PM (#23631524)
Perl 5:

    #!/usr/bin/env perl
    use 5.026;

    open my $fh, '<', 'logs1.txt';
    while (<$fh>) {
      chomp;
      say if /\b\w{15}\b/;
    }
    close $fh;
Python 3.8

    #!/usr/bin/env python

    import re

    with open('logs1.txt', 'r') as fh:
        for line in fh:
            if re.search(r'\b\w{15}\b', line): print(line,   end='')
Why isn't it a fair comparison? The startup time is generic and string parsing is a major feature of, say, web development. I didn't say Perl5 numerics match Python's but even there Python relies on external libs.
Re:Perl 7 is going to be Perl 5.32, mostly by tomku on Wednesday June 24, 2020 @02:46PM (#23632161)
It doesn't account for anywhere near the whole difference, but in a tight loop like that Python's going to be spending a good chunk of its time re-compiling the regex from the raw string literal every iteration. Hoist the regex definition out of the loop like so and it'll probably run about 30% faster:

  #!/usr/bin/env python3

  import re

  with open('logs1.txt', 'r') as fh:
      regex = re.compile(r'\b\w{15}\b')
      for line in fh:
          if regex.search(line): print(line, end='')
Perl almost certainly does this by default for regex literals, and that's a fair advantage for the "kitchen sink" style of language design versus orthogonal features (regex library, raw strings) that Python uses.
Re:Perl 7 is going to be Perl 5.32, mostly by cutler on Wednesday June 24, 2020 @04:55PM (#23633763)
With pre-compiled regex the Python version comes down to 1.483s on my machine which is still considerably slower than Perl. I wrote versions of these using substring `index` instead of a regex and Perl was still the clear winner:

    time ./index.pl  0.258s
    time ./index.py  0.609s
If you factor-in that Python startup time is 0.279s slower than Perl the processing differential comes down to 0.072s.
Re:Perl 7 is going to be Perl 5.32, mostly by dgfitz on Wednesday June 24, 2020 @05:57PM (#23634325)
I'd be curious on your take of my code below, I have python and perl as dead even if you don't print and ignore pythons startup time.
Re:Perl 7 is going to be Perl 5.32, mostly by cutler on Wednesday June 24, 2020 @08:31PM (#23635473)
Well, the two ifs you hedge to qualify Python's parity are pretty damning in themselves, no? Let's stop beating about the bush - if you want to perform a common text-processing job like parsing a log file Perl is hands down faster than Python.
Re:Perl 7 is going to be Perl 5.32, mostly by orf on Wednesday June 24, 2020 @04:37PM (#23633546)
Python caches patterns, you almost never need to re.compile unless you’re a library or have a specific use case involving lots of unique patterns.

The issue here is that pythons regex engine has overhead, and with lots of sequential calls with small strings like that the overhead adds up.

If you batch lines together in chunks you’ll see a huge improvement in speed, but the point is that it’s not “Python vs Perl” it’s “pythons regex engine vs Perl’s regex engine”. Which is about a contrived Perl-biased benchmark if ever there was one.

Re:Perl 7 is going to be Perl 5.32, mostly by dgfitz on Wednesday June 24, 2020 @05:19PM (#23633995)
Running a different test the slowest part of the python script is the startup time, otherwise they're identical:

    [admin@localhost ~]$ time ./test.py
    real 0m0.295s
    user 0m0.158s
    sys 0m0.138s

    [admin@localhost ~]$ time ./test.pl
    real 0m0.164s
    user 0m0.158s
    sys 0m0.006s

    #!/usr/bin/env perl
    use 5.16.3;

    open my $fh, '<', 'logs1.txt';
    while (<$fh>) {
    chomp;
    if (/\b\w{15}\b/) {}
    }
    close $fh;

    #!/usr/bin/env python

    import re
    regex = re.compile(r'\b\w{15}\b')

    with open('logs1.txt', 'r') as fh:
     for line in fh:
      if regex.search(line):
       continue
Re:Perl 7 is going to be Perl 5.32, mostly by dgfitz on Wednesday June 24, 2020 @02:33PM (#23631982)
The python code should run much faster if you don't print..

Edit: perl is still faster, to be clear

Re:Perl 7 is going to be Perl 5.32, mostly by cutler on Wednesday June 24, 2020 @08:35PM (#23635496)
That's like saying they're both as fast if you amputate one of Perl's legs.
Re:Perl 7 is going to be Perl 5.32, mostly by mappu on Wednesday June 24, 2020 @06:23PM (#23634562)
I took some similar benchmarks recently: https://code.ivysaur.me/interpreter-binary-perf

Perl5 won the dec2bin benchmark.

The other thing I learned was that PHP's binary/decimal functions are two orders of magnitude slower, despite its core interpreter performance being best-in-class.

Re:Perl 7 is going to be Perl 5.32, mostly by cutler on Wednesday June 24, 2020 @08:37PM (#23635514)
On the other hand PHP has a PCRE jit option which manages to beat even Perl's regex implementation.
Re:Perl 7 is going to be Perl 5.32, mostly by rurban on Thursday June 25, 2020 @01:46AM (#23637293)
Yes but you can use that jit also with perl5. https://metacpan.org/pod/re::engine::PCRE2

It has even less backcompat problems than the native regex.

Re:Perl 7 is going to be Perl 5.32, mostly by kbenson on Wednesday June 24, 2020 @12:52PM (#23630512)
> it's even slower than Python.

It's faster at some things and slower at others. It's fairly similar in speed profile to Python in my eyes.

> Are you saying the language doesn't change much or that it doesn't crash?

Both is probably what was meant. They are literally changing the major version so they can change some backwards compatibility, as Perl has made strong backwards compatibility a goal and selling point for decades. You can take a script written in 2000, and it will likely run without problem if you run it on a Perl 5.30, released last year.

Re:Perl 7 is going to be Perl 5.32, mostly by 1996 on Wednesday June 24, 2020 @12:53PM (#23630519)
- Efficient: from prototype to deployment, it's a matter of days. The choice of styles let people use paradigms they are familiar with, meaning they do things quickly.

- Cheap: it does not cost much to hire someone to write perl. If they don't know how yet, the choice in style let them be efficient quickly. The code to be deployed is very lightweight, both in CPU and RAM usage.

- Stable: no API break. No new module that reinvent the wheel and breaks your codebase. Unit testing is about everywhere in cpan. Code written 20 years ago still run fine.

Re:Perl 7 is going to be Perl 5.32, mostly by continuational on Wednesday June 24, 2020 @02:02PM (#23631541)
The reason that code written 20 years ago still runs fine is that they rolled back 20 years of changes!
Re:Perl 7 is going to be Perl 5.32, mostly by 1996 on Wednesday June 24, 2020 @04:08PM (#23633241)
This is a pointless attack. The modules available on CPAN usually have a strong emphasis on backwards compatibility.
Re:Perl 7 is going to be Perl 5.32, mostly by yellowapple on Wednesday June 24, 2020 @03:38PM (#23632880)
> Also, perl is incredibly inefficient: it's even slower than Python.

That's debatable for single-threaded workloads (they're typically pretty comparable in my observation), and highly unlikely for multi-threaded workloads (Python has a global interpreter lock whereas Perl does not AFAICT; you can work around that in Python, but it typically involves spawning entirely separate processes, thus introducing IPC overhead that wouldn't be present in a Perl equivalent).

Looking at some comparative benchmarks (https://benchmarksgame-team.pages.debian.net/benchmarksgame/...), Perl seems to be faster in a slight majority of cases, and in nearly all cases has a lower memory overhead. Not that benchmarks really matter anyway, given that they're usually a poor indicator of real-world performance, but still.

Re:Perl 7 is going to be Perl 5.32, mostly by nicoburns on Wednesday June 24, 2020 @12:33PM (#23630117)
I believe MoveGB is running a perl backend.