News for hackers. Stuff that matters.
Re:Is Perl 6 Being Renamed? by mkozlows on Thursday August 29, 2019 @10:16AM (#20829676)
To my mind, the blockers for Perl 6 adoption in order of importance have been:

1. The name, saddling it with the legacy of Perl. (I say this as someone who really liked working with Perl back in the waning years of the old millennium, and believes that Perl was visionary in pointing the way to the state of modern programming... but also that it had some limitations that have only become more glaring over the years.)

2. The coyness around whether it's "done" or not. Right now today, as someone who has paid attention to Perl 6 and even written some toy code with it, I do not understand its release status at all. That's absurd.

3. The insistence on branding sub-components of it and exposing that branding. Yes, it has a VM. Yes, it has a compiler. But why do people talk about ParrotVM and Rakudo as if they're different things? Java has a compiler and a VM, they're called "javac" and "jvm." This wifty "no, Perl 6 is the standard, the software you're running is Rakudo and Parrot" distinction is totally irrelevant to anyone actually wanting to write code, and weirdly confusing.

4. In a distant, distant last place: any actual functional stuff about the language.

Re:Is Perl 6 Being Renamed? by simcop2387 on Thursday August 29, 2019 @02:18PM (#20832179)
> 3. The insistence on branding sub-components of it and exposing that branding. Yes, it has a VM. Yes, it has a compiler. But why do people talk about ParrotVM and Rakudo as if they're different things? Java has a compiler and a VM, they're called "javac" and "jvm." This wifty "no, Perl 6 is the standard, the software you're running is Rakudo and Parrot" distinction is totally irrelevant to anyone actually wanting to write code, and weirdly confusing.

Pedantically, and this also helps serve your point, Parrot isn't used by any modern Perl 6 implementation, it's effectively dead (if not totally). MoarVM is the less ambitious (not trying to support every dynamic language like Parrot was) and more mature VM that is in use now.

And the requisite, ParrotVM is just pining for the fjords joke goes here. It has ceased to be, gone to meet it's maker, it is an Ex-Parrot.

EDIT: For reference, Parrot VM really was named because of that sketch. It started as an April Fools joke and kinda stuck. https://web.archive.org/web/20100718195724/http://www.perl.c...

Re:Is Perl 6 Being Renamed? by evancox100 on Thursday August 29, 2019 @03:28PM (#20832775)

    # copy stdin to stdout, except for lines starting with #
    while left_angle_right_angle:
        if dollar_underscore[0] =eq= "#":
            continue_next;
        }
        print dollar_underscore;
    }
Hilarious...
Re:Is Perl 6 Being Renamed? by merlincorey on Thursday August 29, 2019 @04:47PM (#20833499)
The opening block with `:` and ending block with `}` literally killed me.
Re:Is Perl 6 Being Renamed? by gpvos on Thursday August 29, 2019 @07:12PM (#20834598)
My condolences to your family and friends.
Re:Is Perl 6 Being Renamed? by tomcam on Friday August 30, 2019 @04:00PM (#20842079)
If Roger Zelazny weren’t literally dead, he’d literally be rolling over in his grave for your use of the word literally.
Re:Is Perl 6 Being Renamed? by rbp on Thursday August 29, 2019 @05:33PM (#20833929)
figuratively
Re:Is Perl 6 Being Renamed? by Stratoscope on Thursday August 29, 2019 @09:33PM (#20835265)
A relevant and rather entertaining article from Merriam-Webster:

Did We Change the Definition of 'Literally'?

Literally every modern dictionary includes this definition

https://www.merriam-webster.com/words-at-play/misuse-of-lite...

Re:Is Perl 6 Being Renamed? by rwbhn on Thursday August 29, 2019 @09:58PM (#20835380)
My favorite bit: "If you dislike hearing other people use it, you may continue to be upset."
Re:Is Perl 6 Being Renamed? by ivanhoe on Friday August 30, 2019 @05:11AM (#20836949)
So you're (literally?) using "it figuratively killed me" as a figure of speech? For real?
Re:Is Perl 6 Being Renamed? by jdironman on Thursday August 29, 2019 @06:24PM (#20834317)
Characterally.
Re:Is Perl 6 Being Renamed? by singingfish on Friday August 30, 2019 @07:02AM (#20837440)
people who use literally to mean figuratively literally give me the shits.
Re:Is Perl 6 Being Renamed? by bryanrasmussen on Thursday August 29, 2019 @08:32PM (#20834981)
brutally
Re:Is Perl 6 Being Renamed? by shitgoose on Thursday August 29, 2019 @10:52PM (#20835604)
i either missed the joke or missed the perl6 spec about :} notation. can you explain?
Re:Is Perl 6 Being Renamed? by Grinnz on Thursday August 29, 2019 @11:08PM (#20835666)
See the link in the parent comment.
Re:Is Perl 6 Being Renamed? by devit on Thursday August 29, 2019 @01:33PM (#20831736)
Feels like the big blocker is that it seems to only be useful if you insist on a language that is Perl-like but also modern, but most Perl programmers probably moved to other languages already and don't care about whether their language is Perl-like, and the remaining ones are probably mostly maintaining Perl 5 codebases that they don't want to rewrite.

Ignoring the Perl angle, it's a language with a small ecosystem that doesn't seem to provide any groundbreaking advantage compared to existing languages, so no reason to adopt it.

In general, to become popular a new language needs to provide one of those:

1. A new groundbreaking and useful paradigm that cannot be added to existing popular language ecosystems without a total compatibility break (e.g. Rust)

2. Compatibility with an existing ecosystem and significant improvements (e.g. Kotlin)

3. Being the best among languages required by a platform or program (e.g. Swift, also JavaScript when introduced)

4. Have one of the best ecosystems for a specific niche (e.g. Ruby when Rails got popular)

Re:Is Perl 6 Being Renamed? by mkozlows on Thursday August 29, 2019 @02:09PM (#20832096)
The thing is, there are a LOT of new things in Perl 6. Its approach to regexes (with grammars) feels genuinely revolutionary, and it's got a lot of other neat things about it.

I don't think it'd be instantly super-popular if it were a standalone, non-Perl-affiliated language, but I think it'd at least be talked about like Elixir or F# or Elm.

Re:Is Perl 6 Being Renamed? by cies on Thursday August 29, 2019 @05:50PM (#20834059)
I agree here. Language design needs some artistic freedom, and P6 is clearly exploring new areas in that regard.

I always felt Perl <6 was the papa of Ruby: optimizing for (a) programmer's happiness. Perl showed the way in so many ways, combined with the object model of SmallTalk we got Ruby.

Maybe P6 also has a some new ideas in that find their use in future languages. But we will only know after P6 gets used and loved and exposed to real world scenarios, what those "most valuable/copyable innovations" are...

Re:Is Perl 6 Being Renamed? by goatinaboat on Friday August 30, 2019 @06:45AM (#20837369)
Its approach to regexes (with grammars) feels genuinely revolutionary

Is that really a thing that couldn’t just be added to PCRE and be available in any language with bindings?

F# has the advantage of easy interoperability with the vast .NET ecosystem.

Re:Is Perl 6 Being Renamed? by antihero on Friday August 30, 2019 @07:24AM (#20837539)
Is there like, some sort of website showcasing new features and providing idiomatic examples that would make someone go...holy shit?
Re:Is Perl 6 Being Renamed? by wwweston on Thursday August 29, 2019 @02:36PM (#20832341)
> if you insist on a language that is Perl-like but also modern

Here's your perennial reminder that the word "modern" is a thought smell.

> it's a language with a small ecosystem that doesn't seem to provide any groundbreaking advantage compared to existing languages

I'd almost prefer this conception went uncorrected, because Perl6 is not just Ruby or Python in different clothes, and it's not just Perl5 with nicer aesthetics, and I don't mind enjoying niches or competitive advantages.

Re:Is Perl 6 Being Renamed? by andrewflnr on Thursday August 29, 2019 @03:21PM (#20832709)
> "modern" is a thought smell

Sometimes it's a thought smell, but sometimes it's shorthand for "has learned the lessons of recent history", which is indeed valuable.

Re:Is Perl 6 Being Renamed? by wwweston on Thursday August 29, 2019 @03:39PM (#20832868)
"Code smell" isn't an automatic "something is definitely wrong," it's an indication that maybe something is wrong.

By analogy, "modern" might indeed sometimes mean "has learned the lessons of recent history."

One can even sometimes test this by asking people what they mean by "modern."

My experience is that they usually don't know, or have a conception uncomfortably close to "it was released more recently" or "it's more like what everybody does right now," which are both certainly worth observing... but stopping there is where the thinking becomes distinctly less so.

Re:Is Perl 6 Being Renamed? by shawnz on Thursday August 29, 2019 @06:52PM (#20834493)
The trouble is when it's shorthand for "forgotten the lessons of ancient history"
Re:Is Perl 6 Being Renamed? by singingfish on Friday August 30, 2019 @07:03AM (#20837446)
or worse, forgotten the lessons of recent history
Re:Is Perl 6 Being Renamed? by smelendez on Thursday August 29, 2019 @03:44PM (#20832910)
Sorry, what is a "thought smell?"

Not familiar with the term and can't find it elsewhere.

Re:Is Perl 6 Being Renamed? by JTbane on Thursday August 29, 2019 @04:35PM (#20833407)
It's an idiom.

"this smells off" -> nonspecific indication that something might be wrong "code smell" -> nonspecific indication that something might be wrong with software code "thought smell" -> nonspecific indication that something might be wrong with a way of thinking

Re:Is Perl 6 Being Renamed? by bryanrasmussen on Thursday August 29, 2019 @08:36PM (#20834999)
There are some words used for pejorative purposes that I think the language can do without but I think wanting to get rid of modern (and hence the concepts it embodies) seems more an indicator of something wrong than just using it.
Re:Is Perl 6 Being Renamed? by kbenson on Thursday August 29, 2019 @11:35AM (#20830404)
> The insistence on branding sub-components of it and exposing that branding. Yes, it has a VM. Yes, it has a compiler. But why do people talk about ParrotVM and Rakudo as if they're different things? Java has a compiler and a VM, they're called "javac" and "jvm." This wifty "no, Perl 6 is the standard, the software you're running is Rakudo and Parrot" distinction is totally irrelevant to anyone actually wanting to write code, and weirdly confusing.

The reason the implementation is named (Rakudo), is because there's a spec, and originally there were a few people making implementations. There was good effort from individuals on C and C# versions that were more monolithic, and Rakudo was where most the community work went since it was designed in a way to be more cross platform (it's mostly implemented in the minimal NQP languages, which is "not-quite perl". It's a much easier thing to port to a VM, and then you get like 90% of the language features already designed and working).

The reason the VM is noted is because it changed a couple of times. Bringing the VM name into it lets people know that if it's different, maybe it will have fixed their main performance complaints. To my knowledge, they haven't used parrot in a decade or so, and there's actually some bad blood between the VM and Perl 6/Rakudo (which had different teams, another reason to brand with both.

So, Perl 6 is the standard. There have been multiple implementations to varying degrees of completeness, including but not limited to Rakudo, Pugs, and Niecza. Those implementations have generally targeted one or more VM targets, including Parrot, MoarVM, Java, .Net and custom VMs.

It may or may not have hurt adoption seeing this terminology, but it was there for a reason, because it denoted very large important aspects of what was going on behind the scenes, and in some cases doing otherwise could have worked against some relationships that were going on between projects.

Re:Is Perl 6 Being Renamed? by davidw on Thursday August 29, 2019 @01:32PM (#20831730)
> So, Perl 6 is the standard. There have been multiple implementations to varying degrees of completeness, including but not limited to Rakudo, Pugs, and Niecza. Those implementations have generally targeted one or more VM targets, including Parrot, MoarVM, Java, .Net and custom VMs.

That sounds like a really solid foundation to build a business on...

I think if people are willing to look with an unbiased eye, there are a lot of software marketing lessons to be learned from the rise and fall of Perl. It got a bunch of stuff right back in the day.

Re:Is Perl 6 Being Renamed? by dragonwriter on Thursday August 29, 2019 @04:05PM (#20833079)
Perl 6 -> SQL

Perl 6.c, Perl 6.d -> SQL-2011, SQL-2016

Rakudo Star -> MySQL

Rakudo compiler backends (for MoarVM, JVM, JS) -> MySQL storage engines (InnoDB, MyISAM, ...)

Having different names for languages, language spec versions, language implementations, and backends doesn't seem unknown in successful projects.

Other than the problem of “Perl” in the name, all of this is fairly boringly normal.

Re:Is Perl 6 Being Renamed? by hitekker on Thursday August 29, 2019 @01:35PM (#20831758)
Do you have some articles or reading that you'd recommend on Software Marketing vis-a-vis Perl?
Re:Is Perl 6 Being Renamed? by davidw on Thursday August 29, 2019 @01:37PM (#20831781)
No - I'm just saying that it objectively gained a lot of popularity because they did some things right, and then lost it again because they got some things wrong.

Of course part of that is technical, but part of 'marketing' is understanding what your users want and delivering it to them.

This article I wrote about Tcl a while back is what I'm talking about: https://journal.dedasys.com/2010/03/30/where-tcl-and-tk-went...

Re:Is Perl 6 Being Renamed? by dragonwriter on Thursday August 29, 2019 @04:30PM (#20833349)
> I'm just saying that it objectively gained a lot of popularity because they did some things right, and then lost it again because they got some things wrong.

Yeah, but you keep pointing to things that are exactly like many successful projects as wrong, like having a different name for the language vs. an implementation vs. backends used by the implementation.

I will suggest that the two things they actuallt got wrong were:

(1) Calling it “perl”, and

(2) Taking forever.

And, really, those two in combination: even being as distinct as it is, had it stabilized in a reasonable period of time, and had once it stabilized a reasonable transition path been provided, it might have been another Python 2 to Python 3 problem, but not a complete disaster. Conversely, ha for been a new experimental language and not “Perl 6”, taking forever to stabilize would have been more tolerable.

Re:Is Perl 6 Being Renamed? by jannotti on Thursday August 29, 2019 @01:24PM (#20831644)
You can tell that the parent post understands all that, right?
Re:Is Perl 6 Being Renamed? by hitekker on Thursday August 29, 2019 @01:38PM (#20831800)
As per usual, the GP sees the matter from a purely technical perspective, which occludes the larger business insight that the top-level comment provides.
Re:Is Perl 6 Being Renamed? by kbenson on Thursday August 29, 2019 @04:01PM (#20833054)
I very specifically pointed out that some of it was based on the relationship between the projects. I wasn't defending the situation, as much as providing context of why it was done that included non-technical reasons.

To spell it out, Parrot the project started around the same time as Perl 6 the project. Initially, a lot of Parrot's purpose in reality was to be a VM for Perl 6, but Parrot also had a goal of being a good general VM for dynamic languages. From that perspective, I think they were often mentioned together because neither wanted to be overshadowed by the other to the point of obscurity, and they wanted to draw on the general audience each might bring (and there were quite a few people doing stuff in Parrot with nothing to do with Perl 6 eventually).

Did it cause problems? Probably, even if you ignore the eventual blowout they had. That doesn't mean it was it was entirely a stupid technical reason by technical people ignoring marketing concerns, as part of the reason I think it was done was purely for marketing. Initially, it might have even helped (a VM for dynamic languages was a big idea back then, I know I saw a lot of people excited about it).

Re:Is Perl 6 Being Renamed? by rurban on Thursday August 29, 2019 @04:37PM (#20833418)
As parrot maintainer I could explain what caused the downfall: Stupid people.

It was a CPS compiler, but after they drove the first creators away, a bunch of people who had no idea about compilers nor CPS started destroying it. First the destroyed the jit. The technical justification was bullshit. Then they destroyed the run loops, and finally the CPS (2007 YAPC workshop). This caused every function call to allocate 2 objects, continuation contexts were not reused anymore, but created on the fly for every call. After this desaster they gave up (their new idea was to create a 2nd LLVM, called something with m), and I came back to cleanup the mess. I readded the compiler optimizations, added proper lock-less threading (their current VM is lockful) and started fixing the CPS, the run loops, the GC and the Jit. But before that they decided to kill it off, and rewrote everything by themselves. But not as committee anymore and without the previous leadership, which was a very good decision. It's still a very naive architecture still, that's why it's even slower than python, the slowest scripting language on earth.

Realizing that this is futile, I started improving perl5 towards perl6 instead. Just without breaking backcompat. perl11 (5+6)

Re:Is Perl 6 Being Renamed? by chromatic on Thursday August 29, 2019 @06:49PM (#20834471)
As parrot maintainer I could explain what caused the downfall: Stupid people.

Reini, it seems like you think everyone who disagrees with you is stupid. This isn't an explanation for anything.

We were boxed in for two really good not-primarily-technical reasons:

* we had users we didn't want to abandon or cause churn * we had architectural decisions we had to improve

Now I know I'm not as smart or as experienced or as knowledgeable as you are, but that doesn't mean I'm a drooling buffoon, and it certainly doesn't mean I don't have good reasons. Sometimes it means I make mistakes. Sometimes they're not even mistakes; sometimes they're just differences of opinion.

Re:Is Perl 6 Being Renamed? by rurban on Friday August 30, 2019 @09:52AM (#20838575)
> it seems like you think everyone who disagrees with you is stupid. This isn't an explanation for anything.

It is the simpliest explanation. In fact it was stupid and arrogant leadership mostly.

There was no disagreement, as we didn't say a beep then. They made those stupid decisions all by themselves, and didn't listen to any advice. The better people just silently left, shaking their heads.

Re:Is Perl 6 Being Renamed? by chromatic on Friday August 30, 2019 @11:29AM (#20839541)
It is the simpliest explanation.

It's the laziest explanation.

Did you ever ask yourself why, for example, all of the calling convention code paths were consolidated into a single code path? It wasn't to make a single, inefficient code path as you claim.

It was to provide a gradual transition for clients to a better designed calling convention system which could then be optimized for actual client uses.

The goal was never to create the fastest possible VM at every single point in time. That's where I think you never understood the goal of the project, and that's where I think you've never understood the goal of p5p.

The goal was to make something that works, continues to work, and can be improved while continuing to work. That's why you're no longer welcome in p5p -- because your goals and your actions are incompatible with that.

I wish you understood this. You're very smart and very talented and you have a lot to offer, if you can get out of your own way and accept that people who don't share your exact goals in the exact same way aren't irredeemably stupid.

Re:Is Perl 6 Being Renamed? by rurban on Saturday August 31, 2019 @10:35AM (#20846517)
Explanation for others: They made it 10x slower, so that perl6 decided to ditch them. It worked, but that's about all. Nobody can use it.
Re:Is Perl 6 Being Renamed? by ehvatum on Saturday August 31, 2019 @12:45PM (#20847377)
Always interesting to read the final sum-total précis of what political people accomplish when they burst into a technical china shop with good intentions and not a clue. An unbelievably slow VM is an inevitable result, no matter the field. You could be doing laboratory science when a politician explodes through the door, and a year later, somehow end up with a scripting language that runs in a VM implemented in Perl...
Re:Is Perl 6 Being Renamed? by chromatic on Saturday August 31, 2019 @02:00PM (#20847813)
Explanation for others

How odd then that ~90% of the discussions about ditching Parrot were primarily complaining about the deprecation policy and first-class Rakudo support, not speed.

I suppose you would know better though, being objectively smarter than everyone else who ever made a decision about the project. How unfortunate that we can't take your word for it; we can only read all of the public discussion about it.

Re:Is Perl 6 Being Renamed? by 6thaccount2 on Thursday August 29, 2019 @06:49PM (#20834475)
How fast is your Perl11 project compared to Perl5 and Python?
Re:Is Perl 6 Being Renamed? by rurban on Friday August 30, 2019 @09:49AM (#20838546)
Faster than both. But more importantly much better security, much more features, and continuous improvements. perl5 is just continuous destruction.
Re:Is Perl 6 Being Renamed? by 6thaccount2 on Friday August 30, 2019 @01:43PM (#20840768)
That's interesting. I've seen you make these statements, but have never been able to confirm even though I've meant to. How many actual users do you have btw?
Re:Is Perl 6 Being Renamed? by snaky on Friday August 30, 2019 @08:04AM (#20837725)
The more practical question would be not how fast it is (supposing it's quite fast), but how many features isn't there yet.
Re:Is Perl 6 Being Renamed? by chromatic on Thursday August 29, 2019 @06:44PM (#20834445)
Initially, a lot of Parrot's purpose in reality was to be a VM for Perl 6, but Parrot also had a goal of being a good general VM for dynamic languages.

This was, initially, for two reasons:

* allow Perl 5 code to run in process with Perl 6 code (without linking in libperl) * provide a unified VM on which Perl 5.12 could become Perl 6

Re:Is Perl 6 Being Renamed? by kbenson on Thursday August 29, 2019 @08:16PM (#20834890)
Sure. I just remember a lot of (possibly a bit pie-in-the-sky) talk about how it could be a VM for Perl and Python both. That the more concrete initial plans and to some degree work was to allow good interop between major versions of Perl doesn't surprise me.

I'll defer to your memories if they contradict that though, I know you were involved to varying degrees for the first decade or so, and all I did was lurk.

Re:Is Perl 6 Being Renamed? by chromatic on Thursday August 29, 2019 @08:25PM (#20834944)
I think no one was more surprised than Simon himself that his April Fools joke turned out to be the plan.
Re:Is Perl 6 Being Renamed? by dragonwriter on Thursday August 29, 2019 @03:56PM (#20833003)
> So, Perl 6 is the standard

Well, more accurately, it's the language name (like SQL).

Standards include Perl 6.c, and Perl 6.d (Like SQL-2011 and SQL-2016)

Re:Is Perl 6 Being Renamed? by dragontamer on Thursday August 29, 2019 @10:26AM (#20829766)
> But why do people talk about ParrotVM and Rakudo as if they're different things? Java has a compiler and a VM, they're called "javac" and "jvm."

Bad example: Java actually has many VMs available for it: Oracle, OpenJDK, Zing, and IBM come to mind. (EDIT: And "Dalvik", for all the Android fans). I'm unsure if Java has multiple compilers, but its quite possible.

Python has CPython 2.0, CPython 3.0, and Jython at least. Probably a few others.

When Perl 5 was huge, there were multiple VMs and interpreters: IronPerl comes to mind as a Windows implementation back in the day that had different quirks than the canonical Perl interpreter.

Re:Is Perl 6 Being Renamed? by mkozlows on Thursday August 29, 2019 @10:41AM (#20829891)
Sure, but most people don't know or care. They just type "python" and Python happens. If they need to find another implementation, it's possible, but there's no question about what the default implementation is.
Re:Is Perl 6 Being Renamed? by dragontamer on Thursday August 29, 2019 @10:43AM (#20829913)
> Sure, but most people don't know or care.

A lot of people care. It costs $3500 per server to run Zing Java. Every user of Zing cares enough to pay $3500. Everyone who has written an Android app cares about the distinction too. Dalvik has different quirks than regular Java. (EDIT: Oh boy, that shows how out of date I am. Apparently Android is now using Android Runtime instead of Dalvik....)

> If they need to find another implementation, it's possible, but there's no question about what the default implementation is.

The implementation can, and does, change without the language changing. That's the unfortunate truth about real world deployments. As such, you need a unique name for the interpreter.

Re:Is Perl 6 Being Renamed? by ben509 on Thursday August 29, 2019 @12:31PM (#20831009)
>> Sure, but most people don't know or care.

> A lot of people care.

Both of these claims are true, but yours is missing the point.

You grow a userbase by appealing to people who don't use or understand your product. People who are already invested to the point of spending $3500 for a custom VM aren't the ones you're trying to clarify things for by using consistent branding.

Re:Is Perl 6 Being Renamed? by collyw on Friday August 30, 2019 @04:26AM (#20836761)
These are probably fairly advanced cases. I know I can run a different Python interpreter, but the vast majority of people just use the standard one.
Re:Is Perl 6 Being Renamed? by claudiawerner on Thursday August 29, 2019 @10:48AM (#20829966)
Assuming you've installed "Perl 6" (well, Rakudo) you can just type "perl6" and Perl 6 happens.
Re:Is Perl 6 Being Renamed? by inimino on Thursday August 29, 2019 @02:30PM (#20832290)
> Assuming you've installed "Perl 6" (well, Rakudo)

That's the problem.

Re:Is Perl 6 Being Renamed? by josefx on Thursday August 29, 2019 @02:21PM (#20832205)
> Bad example: Java actually has many VMs available for it

And it always had a single official and complete reference implementation in the form of the Sun JVM and later the OpenJDK. kbensons description makes it look as if Perl 6 had/has neither.

> And "Dalvik", for all the Android fans

Dalvik was intentionally incompatible in many ways and wont run a spec conform jar no matter how hard you try. Might as well call CPython a Perl implementation.

> Python has CPython 2.0, CPython 3.0

With CPython X being the official reference implementation for the corresponding language version and all other implementations being incompatible to varying degrees.

Re:Is Perl 6 Being Renamed? by kbenson on Thursday August 29, 2019 @08:30PM (#20834973)
> And it always had a single official and complete reference implementation in the form of the Sun JVM and later the OpenJDK. kbensons description makes it look as if Perl 6 had/has neither.

It had and has a spec. It's been evolving over time though. It was ambitious enough that no one implementation ever fully implemented it until recently, if ever (I stopped following the project actively a few years back. I'm not sure if any current implementation is fully compliant). That's not a surprise, it's an amazingly complex set of features that are describes, and there's many specs that are never fully implemented, and it's not uncommon to have an aggressive specification run up against reality when people try to implement it. For example, I've heard that the IMAP spec has never been fully implemented, or at least the later ones versions of it.

So, they have a spec, and have had one for a very long time. They have implementations that do the vast majority of the stuff you'll want from that spec, and they've been in that state for a few years.

Re:Is Perl 6 Being Renamed? by pushpop on Thursday August 29, 2019 @03:02PM (#20832549)
> And it always had a single official and complete reference implementation in the form of the Sun JVM and later the OpenJDK.

True though even in the mid to late 90s there were other JVMs available from companies such as Microsoft and IBM. In fact for a period, Sun’s JVM was one of the worst implementations despite being the reference implementation.

Re:Is Perl 6 Being Renamed? by pushpop on Friday August 30, 2019 @05:03AM (#20836917)
Curious why I’m getting downvoted for something that is factually accurate.
Re:Is Perl 6 Being Renamed? by skykooler on Thursday August 29, 2019 @10:39AM (#20829874)
> Python has CPython 2.0, CPython 3.0, and Jython at least. Probably a few others.

...and IronPython, Cython, PyPy, PythonNet, MicroPython, probably plenty more I'm forgetting.

Re:Is Perl 6 Being Renamed? by d0mine on Thursday August 29, 2019 @12:33PM (#20831035)
There are only two main Python languages: 2 and 3 (it is expected that Python 3.x runs Python 3.y code for x>y).

Python 2.x language has several implementations CPython (the reference implementation), Pypy, Jython, IronPython.

Python 3.x language also has several implementations CPython, Pypy

Cython understands Python but it is not Python (I don't know whether it is a strict superset).

MicroPython implements some subset of Python 3.4 (mostly)

Re:Is Perl 6 Being Renamed? by ailideex on Thursday August 29, 2019 @10:34AM (#20829833)
> Bad example: Java actually has many VMs available for it: Oracle, OpenJDK, Zing, and IBM come to mind. I'm unsure if Java has multiple compilers, but its quite possible.

It does have multiple compilers for java, at least javac and ecj (eclipse compiler for java) http://blog.deepakazad.com/2010/05/ecj-eclipse-java-compiler...

And if you consider groovy and scala and kotlin it has many more compilers.

Re:Is Perl 6 Being Renamed? by spathi_fwiffo on Thursday August 29, 2019 @01:27PM (#20831665)
... and it also has Brand Names in abundance, even internally to java's core.

JustInTime, HotSpot, Swing, Beans, etc.

Re:Is Perl 6 Being Renamed? by rootusrootus on Thursday August 29, 2019 @01:05PM (#20831415)
> Python has CPython 2.0, CPython 3.0, and Jython at least. Probably a few others

That's not really a great comparison. There is one single organization that both defines what python is and implements a compiler/interpreter for it, and that is all you would ever need to know to use it. No ambiguity.

Re:Is Perl 6 Being Renamed? by hestefisk on Thursday August 29, 2019 @10:38AM (#20829868)
IronPerl was a .Net implementation of Perl so one could compile to IL. Afair, adoption was sparse.
Re:Is Perl 6 Being Renamed? by dwaite on Friday August 30, 2019 @12:48PM (#20840246)
The biggest mistake IMHO was calling the perl language spec for 6.x "Perl". Because it took so long to finish and to get a proper implementation, a lot of people thought perl as a whole was mostly dead.

For the most part, language specs are either bundled fairly tightly with a reference implementation, or have a completely different name. (e.g. ECMAscript, SQL)

Re:Is Perl 6 Being Renamed? by laumars on Thursday August 29, 2019 @12:52PM (#20831263)
> 3. The insistence on branding sub-components of it and exposing that branding. Yes, it has a VM. Yes, it has a compiler. But why do people talk about ParrotVM and Rakudo as if they're different things? Java has a compiler and a VM, they're called "javac" and "jvm." This wifty "no, Perl 6 is the standard, the software you're running is Rakudo and Parrot" distinction is totally irrelevant to anyone actually wanting to write code, and weirdly confusing.

I'm surprised by this comment because this is how pretty much every language works. C++ has specs and different compilers with different names and has done for decades. As does C, Python, Perl 5, Javascript, PHP, Lua, LISP, LOGO, BASIC, Pascal, SQL and your own example of Java has different compilers/interpreters/VMs.

Often even in languages where the "spec" is defined by a reference implementation, you still find people building their own compilers or VMs for different platforms or use cases.

It's really quite common to separate the language name (and specification version) from the compiler and runtime branding. In fact that used to be the norm back when target platforms differed wildly.

Re:Is Perl 6 Being Renamed? by dragonwriter on Thursday August 29, 2019 @01:00PM (#20831370)
> The coyness around whether it's "done" or not.

There's no coyness; the language spec and implementations are both actively developed, and it's a spec-first design, so Rakudo is sometimes incomplete with regard to the most-recent spec, but Rakudo is and for some time been a “production-ready, stable” implementation of Perl 6.

The language has been consistently described as stable since the “Christmas” release, Perl 6.c, on 25 December 2015, though it took a bit longer before Rakudo had a production-ready 6.c implementation; the current (and currently supported in Rakudo) spec is 6.d, released last year.

> Yes, it has a VM.

Several, in fact. (More if you count defunct historical ones like Parrot.)

> But why do people talk about ParrotVM and Rakudo as if they're different things?

Because they are: ParrotVM is a (AFAIK) essentially dead multilanguage VM that Rakudo used to support; Rakudo currently has a MoarVM backend, and a JVM backend, and IIRC there is a non-production-ready JS backend that is available separately.

Re:Is Perl 6 Being Renamed? by cestith on Thursday August 29, 2019 @02:08PM (#20832092)
SBCL is not Common Lisp. ChickenScheme is not Scheme, nor is guile Scheme. GCC is not C. V8 is not JavaScript. Neither is SpiderMonkey. clang is also not C. tcc is not C. Visual C++ is not C or C++. Delphi is not Object Pascal. Pypy is not Python, nor is Jython, nor is Stackless Python, nor is IronPython. JRuby is not Ruby. yasm and fasm are not x86 assembly or x86_64 assembly or ARM assembly.

I'm seeing a pattern of things that are named tools which are not the exact name of the language they compile or run.

Re:Is Perl 6 Being Renamed? by cogman10 on Thursday August 29, 2019 @03:32PM (#20832807)
Here's the difference. If I said "what's an implementation of Common lisp?" You'd say SBCL. If I Said "What's an implementation of C" you'd say GCC. If I said "What's an implementation of Javascript?" You'd say V8, Spidermonkey, etc.

When I ask "What's an implementation of Perl6" The answer is "Nothing implements perl 6, isn't that wonderful!" It used to take forever diving around to find something that could run some subset of perl 6, usually with the disclaimer of "This isn't really perl 6, but rather a language that seems like perl 6" And you'd get the same thing from the mailing lists/etc.

Re:Is Perl 6 Being Renamed? by cestith on Thursday August 29, 2019 @04:24PM (#20833299)
Right now rakudo with MoarVM is for all intents and purposes the main implementation of Perl6. The rakudo frontend also works with the JVM. There's work to make it work with JavaScript as a backend. It is in a continual state of being really close to the latest spec, but right now the spec is undergoing versioned revision too.

Niecza is an implementation of Perl6 which targets the CLR. Last I checked it lagged rakudo a bit but was still being updated and maintained.

There are other, independent implementations of Perl6. There's STD.pm which implements Perl6 in Perl6 and uses viv to transliterate portions of itself into Perl5.

Pugs is last I checked dormant, but it was an independent implementation of Perl6 in Haskell.

So if someone asks for an implementation of Perl6, they probably want rakudo. Just like if someone asks about an implentation of Ruby they probably want CRuby / MRI unless they for some reason don't. Ruby, however, doesn't really have a language spec so other Ruby implementations like JRuby chase MRI compatibility. This was a problem with Perl5 which was defined by its primary implementation. Python has the Python Language Reference for alternate implementations like IronPython and Pypy to develop against, much like the R5RS and R6RS Scheme documents. This is why Perl6 the language is defined by the spec - so multiple implementations can compatibly exist.

Re:Is Perl 6 Being Renamed? by dragonwriter on Thursday August 29, 2019 @04:13PM (#20833168)
> When I ask "What's an implementation of Perl6" The answer is

Rakudo (compiler) and Rakudo Star (full distribution). Both of which have been production-ready since shortly after the Perl 6.c spec release in December 2015.

Your rant would be understandable back before there was a stable spec, especially long before when the in-process language description and the various implementations were sometimes far apart. But it's been years since it had even a remote resemblance to reality.

Re:Is Perl 6 Being Renamed? by mkozlows on Thursday August 29, 2019 @04:52PM (#20833542)
When a project has been going on for decades, things that have only changed in the last few years are not going to be immediately and obviously understood by people.

The legacy of confusion and weirdness around the Perl 6 project is a legit problem, even/especially if it's no longer true and now Perl 6 is like a normal language.

Re:Is Perl 6 Being Renamed? by cestith on Thursday August 29, 2019 @05:43PM (#20834011)
This feeds directly back into the decision to delineate Perl6 from Perl with a new name.
Re:Is Perl 6 Being Renamed? by collyw on Friday August 30, 2019 @04:00AM (#20836676)
I started my first programming job using Perl in 2003.

There was talk about Perl 6 being ready soon. It sounded really cool like many people I was quite excited about it.

Sadly the screwing around and refusing to give a real release date really messed things up ("It will be ready by Christmas, we just aren't saying which year"). I moved on to Python - which has been a good move career wise, but its a shame as I enjoyed using Perl and Perl 6 does have a lot of interesting ideas.

Like you say, I have no idea about the release status either.

Re:Is Perl 6 Being Renamed? by daotoad on Friday August 30, 2019 @03:38PM (#20841858)
Let me clear that up for you, if you are still in doubt.

Perl5 had a period of slow releases in the 2000s, this changed in 2010 with the release of version 5.12. Since then, Perl 5 has been on a yearly release cycle. The current release is version 5.30.0. When it became clear Perl6 wasn't coming any time soon, some people left Perl. Others knuckled down and wrote some great code that made Perl5 into a much better language. With many core feature additions and deprecations, new CPAN modules, and tooling to support consistent work by teams, the Perl5 language is more expressive and better than ever.

Perl6 took forever, had major internal conflicts, but managed to survive and ship a specification in December 2015, version 6.c (6.a was an alpha version, and 6.b a beta). The Rakudo Perl6 compiler gets monthly releases, but most people install the Rakudo Star distribution, which bundles some extra modules and just makes life a bit easier. Rakudo Star began shipping "A usable Perl 6 compiler" in 2010. Regular releases tracked changes in the compiler.

The Perl6.c spec was announced in December 2015, and the first Rakudo to implement it was released at the same time. Rakudo Star, lagged a bit and released in January 2016.

Here's the Perl6 release announcement: https://perl6advent.wordpress.com/2015/12/25/christmas-is-he...

The Perl 6.d spec was released in November 2018, and the Rakudo 2018.11 version defaults to supporting it.

Here's a link the Perl6 FAQ with more info on the Perl6 versioning and releases. https://docs.perl6.org/language/faq

If you liked Perl5 then, come back and give modern perl5 a try.

Perl6 is an amazingly expressive and fun language to write with.

Re:Is Perl 6 Being Renamed? by petre on Monday September 02, 2019 @08:57AM (#20858816)
Perl 5 post 5.12 is nice but people like rurban an mlehmann claim p5p are screwing it up and breaking backwords compatibility for no good reason. These two individuals are quite knowledgeable programmers, so I'm inclined to agree with them. Both have created their own fork of Perl 5.

Perl 6 is quite nice as a language but the implementation is slow and it has too litlle lib support. Also not great for scripting because of the VM penalty.

Re:Is Perl 6 Being Renamed? by chromatic on Monday September 02, 2019 @12:00PM (#20859882)
These two individuals are quite knowledgeable programmers, so I'm inclined to agree with them.

They're both extremely knowledgeable, but neither of them can work with other people, so their forks seem motivated by the desire to do what they want without question, rather than any purely technical concerns.

Re:Is Perl 6 Being Renamed? by petre on Monday September 02, 2019 @02:47PM (#20861052)
I'd like at least rurban's fork to succeed. The other one is less ambitious and probably more pragmatic as in Perl 5.22 LTS. It's nice but also quite mundane, which is exactly what you'd want in a production environment. Cperl /perl11 OTOH is very ambitious with innovation happening. I will benchmark it against 5.30 at least for the sake of science and validating its author's claims.
Re:Is Perl 6 Being Renamed? by condercet on Thursday August 29, 2019 @01:09PM (#20831457)
This is a good list. The default user experience for Perl 6 needs to be dramatically improved.

Developer ergonomics matter! Yes, when you run 'python' you get cpython, and Java is probably hotspot vm or openjdk or something (but Java is not a good example of developer ergonomics).

Rust is one of the best examples here -- adoption is being driven by the ease-of-use of the entire toolchain, including the package manager and things as small as human readable compiler errors.

Re:Is Perl 6 Being Renamed? by mempko on Thursday August 29, 2019 @03:23PM (#20832729)
perl6 has a REPL just like python if you just type perl6. There is a package manager called zef. It has some of the best and most human-readable compiler errors I have ever seen in a compiler. It has one of the simplest FFI to C I have seen to interface with the rest of the world. If there is anything perl6 got wrong, it wasn't ergonomics.
Re:Is Perl 6 Being Renamed? by condercet on Thursday August 29, 2019 @04:19PM (#20833230)
Yes, perl6 does a lot of things right. It's a great language and ecosystem that deserves more adoption.

But all the things the parent comment listed, particularly branding, are in my mind part of developer ergonomics. And there is room for improvement. They wouldn't be talking about renaming the language if this wasn't the case.

Re:Is Perl 6 Being Renamed? by mempko on Thursday August 29, 2019 @08:26PM (#20834948)
Yup, definitely agree a rename is in order. I tell people, "You must try perl 6" and they go "Oh, I tried that long time ago in the 90s". They just don't here the "6" after the perl.
Re:Is Perl 6 Being Renamed? by earthboundkid on Thursday August 29, 2019 @10:44AM (#20829916)
I would move 4 up to 2. Every time I read an article about how cool Perl 6, I see the clever bits of syntax and think "WTF? I might enjoy playing with that for fun, but no way in hell would I use that for work."
Re:Is Perl 6 Being Renamed? by jrumbut on Thursday August 29, 2019 @11:16AM (#20830229)
I think this is what I admire about Perl 6, though also it is why it wasn't released as the successor to Perl 5 10 years ago.

It has some genuinely ambitious features, some things that (as someone who barely dabbles in new languages) that I haven't seen before, or combinations I hadn't seen.

Something novel instead of the umpteenth iteration of "x with a better type system" or "x without that pesky type system".

Re:Is Perl 6 Being Renamed? by earthboundkid on Thursday August 29, 2019 @11:46AM (#20830523)
Yes, God bless them for making old Perl thirty years ago and popularizing the hash map as a core data type, and God bless them for making new Perl and whatever it brings. But I don't actually want to use either old or new Perl. :-)
Re:Is Perl 6 Being Renamed? by rootusrootus on Thursday August 29, 2019 @01:07PM (#20831434)
The language geek part of me loves Perl. The business part of me would never let it be used for production code. Too much business risk to tolerate.
Re:Is Perl 6 Being Renamed? by inimino on Thursday August 29, 2019 @03:04PM (#20832566)
Counterpoint: this is why almost all business code lacks quality.

(To be clear: not because people aren't writing Perl, but because we tend to reflexively reject any technology that people are passionate about because "risk". But the risk of writing trash code that nobody ever could be passionate about is less visible. Also: I'm not saying there's an easy solution to this problem.)

Re:Is Perl 6 Being Renamed? by petre on Monday September 02, 2019 @09:06AM (#20858868)
Would you let JavaScript be used in production code? Because it is used and it's a mess.
Re:Is Perl 6 Being Renamed? by hitekker on Thursday August 29, 2019 @12:38PM (#20831087)
3 is a common anti-pattern among software systems without clear leadership. Absent a steady, guiding hand, developers behind a component of a system are forced to set their own direction.

Unfortunately, that direction stems from their motivation which is easily tainted by group ego. Maybe the developers feel like they're not getting the attention they deserve, maybe they have a big idea they want to solve and their tool is tangentially related. Or maybe they know exactly what to do, and the "other" people in the system do not.

Whatever the rationalization is, it's enough to transmute their original purpose into a larger mission that everyone in their little silo agrees with, and that gradually diverges them from the rest of the system.

"We're necessary and therefore we're important... more important than the system we were built for!"

Eventually, a new name springs forth to signal their existence or even assert their dominance over the system to which they belong.

The kind of thinking that plagued ParrotVM:

https://news.ycombinator.com/item?id=7358646

Re:Is Perl 6 Being Renamed? by GordonS on Thursday August 29, 2019 @05:59PM (#20834135)
As a relative old-timer, I agree with your 1st point - when I think of Perl, I think of cryptic, ridiculously terse syntax.

OTOH, "Perl" has existed forever... it would be kind of a shame to lose the name.

Re:Is Perl 6 Being Renamed? by Grinnz on Thursday August 29, 2019 @06:07PM (#20834193)
It is not lost, Perl 5 is still developed.
Re:Is Perl 6 Being Renamed? by awinder on Thursday August 29, 2019 @06:10PM (#20834217)
its okay, I’m fairly certain that there exists Perl 5 code that will outlast our very species
Re:Is Perl 6 Being Renamed? by CogitoCogito on Thursday August 29, 2019 @10:20AM (#20829711)
> but also that it had some limitations that have only become more glaring over the years.

I don't have any real experience with Perl, so could you maybe expand a little? I'm curious about what you think the limitations are.

Re:Is Perl 6 Being Renamed? by mkozlows on Thursday August 29, 2019 @10:33AM (#20829823)
I mentioned it in another comment, but a really obvious one is that functions in Perl don't have parameters. Every function just takes in a list, and can do whatever it wants with that list. This page gives a good overview of the situation: https://perl101.org/subroutines.html

There's a kind of elegant flexibility to that, but it also makes it really hard to program reliably in the large, to build useful tooling, or even to glance at a function and know what you should pass it.

Beyond that, classic Perl was full of things that make it quick to write small programs (as CGI scripts were at the time) without a lot of boilerplate, but which don't scale up.

(Perl 6 is very different, and has an almost comically flexible/powerful function signature system (https://docs.perl6.org/type/Signature). Whether or not you like Perl 6's stuff, it's nothing at all like Perl 5's.)

Re:Is Perl 6 Being Renamed? by bmn__ on Thursday August 29, 2019 @11:42AM (#20830494)
> functions in Perl don't have parameters

Sorry, you are misinformed. That hasn't been true for a long time, see http://p3rl.org/Kavorka::Manual::Signatures

Other languages would kill for this kind of beyond-complete maximum overkill feature set.

> This page gives a good overview of the situation: https://perl101.org/subroutines.html

No, it doesn't. That page is not wrong, but incomplete and teaches the wrong stuff, wouldn't recommend. Instead see http://perl-tutorial.org/ for recommended tutorials.

Re:Is Perl 6 Being Renamed? by iosonofuturista on Thursday August 29, 2019 @12:22PM (#20830907)
So, the first tutorial on the list that you recommend has this page for functions[0]. It's more or less the same as GP's link.

YOU are the one misinforming, it would seem. Granted, I don't work with perl (5, never tried 6) for about 15 years, but most criticism of it seems to align with my experiences back then.

[0] http://mvp.kablamo.org/basics/functions/

Edit: The second [1] also recomends the @_ method, and the third [2] the shift method. Did you even read your own links?

[1] https://perlmaven.com/subroutines-and-functions-in-perl [2] https://learnxinyminutes.com/docs/perl/ (search for subroutines)

Re:Is Perl 6 Being Renamed? by rubinelli on Thursday August 29, 2019 @12:17PM (#20830866)
From the Perl 5.30 documentation:

> WARNING: Subroutine signatures are experimental. The feature may be modified or removed in future versions of Perl.

https://metacpan.org/pod/perlsub

Re:Is Perl 6 Being Renamed? by mmcclimon on Thursday August 29, 2019 @12:44PM (#20831157)
It's true that they're experimental, but it's extremely unlikely they'll be removed. The only reason they weren't stable in the most recent version of perl is because of some interactions with subroutine attributes (specifically, :lvalue) which needed some tweaking. We use them everywhere at Fastmail and they're great.

Which is to say: a lot of the reason they're still experimental is because Perl's commitment to backward compatibility. Other languages might have said "oh well," but Perl 5 said "oh, an unintended consequence that might break real uses in the wild; we should wait another year."

Re:Is Perl 6 Being Renamed? by marcosdumay on Thursday August 29, 2019 @01:21PM (#20831602)
In my experience, I never got positional parameters to reliably work on Perl5. They were always buggy and would break with completely unrelated changes.

On Perl6 those are officially supported, so I imagine they work.

Re:Is Perl 6 Being Renamed? by xorcist on Thursday August 29, 2019 @02:06PM (#20832062)
There is a certain elegance to bare lists, as any lisp programmer will probably agree with. It enables the programmer to build their own abstractions as they go.

That is also true for the overly simple object model of Perl 5, it is more like an OOP construction kit, which enables things like Moose which has for almost 15 years provided Perl 5 with a very flexible object model.

It would be very interesting to know if anybody knows of similar systems for other languages?

Large OO codebases can be downright nasty to navigate and while I have never had the opportunity to use something like Moose for large scale projects I imagine that's where it would shine.

Re:Is Perl 6 Being Renamed? by empath75 on Thursday August 29, 2019 @10:41AM (#20829888)
My experience is that Perl scripts other people wrote are impossible to understand. It made me never want to touch it again. I was handed several unmaintained ten year old Perl scripts to update and in every case I just rewrote it in python just because Perl gave me a migraine looking at it.
Re:Is Perl 6 Being Renamed? by kbenson on Friday August 30, 2019 @01:36AM (#20836173)
As a full time Perl developer at different times over that last 20 years (and the rest of the time a sysadmin with heavy Perl use), it's not that bad anymore. A lot of very poor quality Perl was common in the late 90's and early 2000's, but for the same reason a lot of very poor quality PHP code was around from the early 2000's to early 2010's, which is to say because a lot of novice programmers (or at least novice's to Perl) were writing it, and those novices also happened to to get a lot of code into production. In Perl's case it's because the dot com boom really elevated teh quick and dirty cgi script and Perl was the main language available for that.

These days, people that aren't novices tend program much more clearly in my experience, and there's style guidelines and code linters to take up the slack. It's not like other languages never have to deal with people writing odd or unintelligible code either, there's a reason why style standards are a big thing in many places. Here's an example of a module I use that I just looked up. It's fairly terse in parts (but it's a module, so I hold it to a different standard than my own code), but I would expect anyone familiar with perl would have zero trouble determining what's going on in here, and a lot of code bases will be a little more verbose or use more white space to error on the side of caution and help people process what they are seeing easier.[1]

1: https://metacpan.org/release/Path-Tiny/source/lib/Path/Tiny....

Re:Is Perl 6 Being Renamed? by alabamenhu on Thursday August 29, 2019 @04:16PM (#20833203)
That's a problem with the people who wrote the script, though, not the language itself.

Consider the difference between a minified JS script or one produced with emscripten and the code pre-minification. One is unintelligible guaranteed, the other … maybe haha.

Unfortunately, what tended to happen is people would write one liners, and slowly expand the one liners into more complex one liners, and then integrate them into larger scripts without refactoring. Regex can triple that problem (thankfully Perl 6 allows you to write some of the most intelligible — seriously! — regex out there).

Re:Is Perl 6 Being Renamed? by kjs3 on Thursday August 29, 2019 @07:16PM (#20834618)
That's a problem with the people who wrote the script, though, not the language itself.

That's like the folks who say "the problem with C (buffer overflow, UB, etc.) isn't C, it's the people who write C". Which leads to at some point contemplative folks deciding either "this is happening so often, maybe it is the language" or "the majority of people writing this language are incompetent". While I've heard plenty of people in the C community espouse the latter view, having written C since K&R days, I think most people acknowledge it's a problematic language. But I don't have empirical evidence of a ratio.

I wrote a ton of Perl <=5 back in the day. I'm pretty sure I know why I thought it was a good idea at the time. I know where I fall on the above. I know why I, and virtually everyone I know professionally, don't solve problems in Perl any more. But hey...maybe I'm just incompetent.

Re:Is Perl 6 Being Renamed? by empath75 on Thursday August 29, 2019 @09:21PM (#20835210)
About the ten millionth time that someone had a security breach from exposing s3 buckets aws decided to look into if maybe something in their UX was bad instead of blaming the user every time.

‘User error’ is rarely a sufficient explanation for why something negative happens, particular when those users are professionals using a professional product. At some point one needs look at whether there is something in the product that causes those errors to happen or that doesn’t do enough to prevent them.

Re:Is Perl 6 Being Renamed? by Grinnz on Thursday August 29, 2019 @09:23PM (#20835226)
Both things are true: it's probably the user's fault, and it should be made more foolproof.
Re:Is Perl 6 Being Renamed? by alabamenhu on Friday August 30, 2019 @03:42PM (#20841894)
90% of Perl's line noise comes from using short cute variable names and trying to cram way too much into way too compressed regexes.

There's nothing inherent about Perl that causes people to use $z instead of $somethingDescriptive. And regexes have for quite some time allowed for insignificant whitespace to comment things in detail.

If you comment your regexes and use decent variable names, you solve 98% of the readability problems of Perl, and both of those could be enforced with a linter. But as I said, a lot of the problems come from one liners being slowly expanded. Using single letter var names for anything is fine in a one liner, but not good for long term program legibility or maintance in any language.

Re:Is Perl 6 Being Renamed? by hnick on Thursday August 29, 2019 @09:29PM (#20835251)
I use Perl in my day job and enjoy it a lot, but the biggest showstopper for me is that its greatest strength is its greatest weakness. "There's more than one way to do it", it's amazing at getting things working, it excels at writing "glue" programs to shim between bigger and slower moving parts, especially if they're throwaway hacks.

However all that flexibility means that it's not possible to run static analysis with full confidence. Yes, tools exist - but it's been proven impossible for them to catch all cases, and this uncertainty carries real risks for critical business processes.

When you have a code base encompassing a set of core modules, with hundreds of auxiliary programs using them across the business, then any attempt to update perl or its modules grinds to a halt. It's impossible to even enumerate which programs will be impacted by the change with confidence, let alone the effects of such a change.

For details see "Perl Cannot Be Parsed: A Formal Proof" (https://www.perlmonks.org/?node_id=663393). You can mitigate the impact with coding style guides and code reviews but once the damage is done it's very difficult to untangle an existing code base that loads modules at run-time and makes full use of Perl's flexible nature in other ways.