Perl Master Plan
perlmasterplan.com
perlmasterplan.com
The whole site is run by Will Braswell, the creator and maintainer of RPerl, and Reini Urban, the creator and maintainer of CPerl. Both are increasingly troublesome to the Perl community. Rather than apologizing and reintegrating to the community, they've decided to start their own separate community where they are the leaders without disclosing the fact that they are speaking for this new, separate party.
None of said attempts worked out, as you can see.
Will and Reini have effectively been cut out of the main line perl community for repeatedly being assholes to anybody who dared to disagree with them about anything (and I mean being assholes by my standards, which I hope at least some readers will recognise as a rather high bar to clear).
When the website was first created there was a ripple across the social media presences of assorted significant perl/cpan people, myself included, decrying it, though it's non trivial to search for because most of us deliberately didn't include the URL to avoid signal boosting its existence any more than strictly necessary.
The general consensus among my fellow cpan authors (including core team members of some of the most widely used projects) is basically a superposition of
1) "Oh for fuck's sake, not them again"
and
2) "The only way this could've been more tone deaf and counter productive is if instead of a 'master plan' they'd called it a 'final solution'"
There's lots of things happening of late that I'm very optimistic about. This shit is basically the Tulsi Gabbard of perl futures. I respect the right of the authors to hold their opinions, but I respect nothing about said opinions and would encourage everybody else not to feed the trolls.
-- mst, deeply unimpressed by this shit
("they" to mean "at least one, possibly both, of the two instigators of this rubbish")
Their behaviour has repeatedly and materially damaged participation in the community.
I understand that my comment may seem to be coming on a tad strong, but after several years of trying to get them to participate constructively my patience is more than a little frayed.
-- mst
I think that's a mistake; it's important to call out bad actions and bad actors.
Another person made an important point elsewhere. If someone had posted a similar manifesto for the Apache Software Foundation -- without doing any community work or collaboration -- then the ASF would respond quickly and definitively.
If you want to drive Perl adoption, don’t tell the world to use Perl, tell the world about problems that Perl is better than any other language at solving.
I think the biggest factors in adoption are: being in the right place at the right time and app/platform exclusivity.
That's a lot harder to overcome these days. I'm starting to doubt if we'll ever see another popular language displace the status quo.
That sounds a bit the end of progress. After all, Go, Rust, and Swift haven't been around for that long.
I might be open to an argument that ecosystem effects (libraries, training, etc.) lead to power law effects. But I'm not sure I believe that. I could equally well believe that the sheer scale of software development today lends itself to a lot of viable niches.
Programming languages are simply interfaces into a particular tech stack. The stacks will shift as the trends come and go, and the languages will go with it. Perhaps the lowest levels of the stack have settled nice and snugly, with little hope for displacement except by extreme measures (cpu archs, kernel/os implementations, etc) but the higher layers are still rapidly changing, and dragging along new languages with them.
That is, kernel devs got into bed with C before it was a "clear winner", and now they're stuck with it.
Ecosystems that are still developing, layered on top of these older more stabilized systems, have the freedom of choice, and they certainly make use of that freedom.
And of course, by nature of a non-stabilized ecosystem, most choices made are done before a clear winner exists -- because no clear winner exists just yet. But the choice will stick, unless it was dramatically harmful to the project.
The older the ecosystem, the less viable it is to select anything other than the clear winner, because the ecosystem is coupled to that clear winner, and the ecosystem is the fashion.
That excuse reflects very poorly on the planned future of the company I work for, but I don't think my bosses recognize that.
It's apparently less important that our applications are crash-resistant by design of the platform rather than the application itself. I'll admit I'm a bit of a diva with regards to available tools but it's getting really tiresome.
Meanwhile, Javascript and Python are eating everyone's lunches. .NET and Swift are doing pretty well too, but JS in particular is derided as a "bad" language with tons of problems, yet it's bursting at the seams with developers. How can this be so?
Frankly, it's because you can take a random person off the street and turn them into a decent JS developer in like two weeks. JS may be formally inconsistent, but it's seems easy enough for most people to get it. It's quick to see and get results, so new developers don't get discouraged.
If Perl wants to be popular, it needs to attract users on how easy it is. This was one of the shifts Python has made over the years (getting easier for new users) and it continues to grow its userbase.
What you say is true for Python though.
In QBasic, if you wanted to draw a circle, you wrote SCREEN 1; CIRCLE (100,100), 10 and then hit F5.
Trying to do the same thing in C++ had me poring through offline Win32 API .chms for days to understand event loops, windowing, brushes, bitmaps, and memory management, then fighting with linkers and header paths to get it to actually compile.
Good languages are fundamentally at odds with how most software companies do business. They don't want to train people, they don't want to do rewrites, and they definitely don't want to hire people who can change jobs at the drop of a hat (highly skilled persons). They want the bare minimum of all of that, and maximum billings.
Certainly there's a "best tool for the job" approach that might suggest Perl for certain applications, but most of the time developers are saddled with using a single language for a task. Like choosing a hammer: You'd like to choose the one best suited for a job, but that job requires driving both 20d framing nails and brads and everything in between. Carrying an 18oz for the framing, a 10oz for the brads etc. isn't practical, so you choose the 18oz because it's the only one that will work for framing and you can still use the 18oz for the brads, you just need to use a light touch and be more careful.
All that said, I take it this article may not be entirely serious. If it had not been written by Larry Wall, I might take it as complete satire, as examples of the exact wrong reasons to champion a language.
He is not speaking for the general Perl community
I've asked him to remove all mentions of Raku on his site (as Raku is no longer part of the Perl future), but he has refused to do so.
It's http://perl11.org all over again, but with improved graphics and UI. But it's still the same sour wine.
That said the Perl community does lack a steady stream of fresh young people ready to do impossible things because they don't know they're impossible.
But that's not what you claimed, you claimed the developers and advocates were mostly retiring. And that simply doesn't appear to be true ... yet. Give it 10-20 years and I'll expect it to be very true.
I'd also say that Perl's popularity is effectively gone in the general use of the term. While some new development is actually being done in Perl, IME the only people choosing it are already Perl advocates.
I can make multiple claims; they are not exclusive. Making a new claim doesn't necessarily make my previous one less true. My main point is Perl is like Cobol now. It'll probably be around long after we're both gone, but there's no more growth.
> I'd also say that Perl's popularity is effectively gone in the general use of the term. While some new development is actually being done in Perl, IME the only people choosing it are already Perl advocates.
it doesn't sound like we disagree.
It does - for example it talks about a project to make Perl faster.
That’s respectable and worthwhile regardless, but I don’t think performance was a major factor in Perl’s decline. If I start a project right now in Python instead of Perl, it will have absolutely nothing to do with Perl not being fast enough. That is to say, I doubt performance improvements of Perl 5 will help much in regaining ground.
If it was simply what you thought it was, I'd be in favour. Instead, it's a cynical attempt to capitalise on the raku rename and draw off support from actual perl users to their weird-ass not-exactly-perl projects :(
If you're trying to show that a language is good, don't slag off other languages just for the sake of it.
At best it makes unjustified suppositions. At worst it makes you look like a bitter zealot.
I think hating on PERL is more of a meme than hating on PHP, and in some circles hating on JS is just as popular a meme... I mean JS is a nightmare sometimes esp. the tooling/build setups but it accomplishes things not many other languages can. Though rust+web assembly might be interesting way to skip js, but learning curve is a bit high on rust.
Anyway it's complicated and I only follow along sporadically but as someone who used Perl 5 for over a decade when it was more popular I welcome some kind of resolution where Perl 5 is just Perl and what is now Perl 6 becomes a new, different language with only a tangential relationship to Perl 5.
I don't dislike Perl 6, I just remain biased towards 5 due to past experience.
In other words: he's doing Perl the worst possibly favour.
This is outright untrue, the raku devs can't stand them any more than the rest of the perl community can.
> AFAIK they are working with them to get Perl 6 to use the name Raku
Will and Reini have contributed absolutely nothing to this effort except to periodically distract the people doing the actual work while we go clean up after their bullshit and drama.
> I welcome some kind of resolution where Perl 5 is just Perl and what is now Perl 6 becomes a new, different language
The raku change is indeed an excellent thing. However this giant pile of idiocy is trying to capitalise on that change to push their hostile fork of perl, and that's, uh, let's say "not such an excellent thing."
I'll have to read up on all of this before I say more but I do appreciate you giving me something to follow up on and learn about before I open my big mouth again!
Have a skim through chromatic's Modern Perl when you're bored and see if it gives you ideas :)
And thanks for the kind reply, there's nothing I hate more than speaking incorrectly or out of turn on HN!
Urban's CPerl actually in many cases speeds up stock Perl5 code when there is no magic and falls back to comparable speeds to mainline when there's Perl magic involved.
Neither of these projects is part of mainline Perl. They are both forked and little has made it back to mainline largely because they have different goals but also due to personal conflicts these two have with large swathes of the community.
Both are very competent developers. That's not the problem with them trying to speak for the community they have rejected.
This is untrue.
> and even incorporate some of 6 in their work (that's where 11 comes from 5+6=11)
None of this EVER materialized.
Let it be noted that I have defended Will Braswell publicly and privately many times in the past, most recently in https://liztormato.wordpress.com/2019/07/13/on-crime-and-pun...
But since the stunts he has pulled after the rename of Perl 6 to Raku became official (both public as well as in private messages), I have decided he has migrated to the plonk category of people in my life (the sound of garbage hitting the bottom of the bin).
It's worth reading. What I think it is is a power / money grab by a small group inside Perl. It's not reflective of the goals or desires of the wider Perl community. Or at least those goals and desires would not be presented in this way.
Almost overnight everything about Perl seemed very old fashioned. Maybe their style of programming will suddenly become popular again? But doesn't look like it's coming soon.
Unlike Java/C#, I would say github is a good indicator for Ruby.
Scheme -> Racket Common Lisp -> Clojure ML -> Haskell
If perl followed this format and did a rebrand that is essentially the same thing, they would be more likely to pick up traction. Perl just in the name itself gives me a certain connotation. Typically the older variants of languages for the most part die off, while the newly branded ones gain traction, but carrying on the same basic mission. This last one is particularly sad to me personally the Standard ML ecosystem is still to this day incredibly robust and production-tier, and yet it is very much a dead language.
> * Perl as the fastest language > * Perl as the most popular language
You can't get the fastest language (assembly) and be the cognitively easiest and most popular language (Python), there's a trade-off there.
This is why Python won: it focused on what was most important for ease of maintainability and readability and left out everything else
(I don't dispute the majority of your point, but I don't think all 10 year, backwards-incompatible upgrades are created equal.)
I think it is a good plan to make Perl faster, but I'd rather they pitch in and help Johnathan Worthington with the Perl6 (now Raku) effort. Perl5 is a good language, but there isn't enough to get me to switch from Python. Raku on the other hand is very cool and I can see the benefit.
Edit:
Perl6 (now Raku) isn't just a version change from Perl5, but is an entirely new and powerful language. It seems to have pulled some of the best aspects of Python, Ruby, Perl, and some things from Haskell/Lisp.
Yes, they want to increase Perl adoption. No, they probably don't think they can realistically meet all those goals in the forseeable future.
perlpackages.com perlcontainers.com perlvm.com perlclouds.com perlaccessibility.com perlinstall.com perlgames.com perloffice.com perlapps.com perlservers.com perlgrandchallenges.com perlhackathons.com spacescouting.org perlscouts.com certifiedyouthprogrammer.com programmingmeritbadge.com mlperl.com scienceperl.com perldemos.com perljobs.work perllegacy.com perlpodcasts.com perlvideos.com perlbrochures.com perlflyers.com perlmerchandise.com perlpapers.com perlnewsroom.com perlblogs.com perlinfographics.com perlbeer.com perlparties.com perlconferences.com perlmulticore.com perlsupercomputers.com perlspeed.com perlfamily.org
Be it satire or not (which I think it actually isn’t), this is not a good sign.
I've been following Perl Advent for a looong time. The sad art is I don't code Perl anymore (at least 10-12 years) but I still visit perl advent every year.
Let's see what happens this year :-)
What would a modern high performance language look like though? I see it at as a language with AOT compilation, high performance implementation of a decent actor concurrency model not shared memory one, vector/matrix abstractions, primitives and operations. At the same time I see automatic parallelization in multi core context as something only hurting high performance.
Perl actually has a shot at that, but there's nothing much special about it that couldn't be done by Python or Ruby.
Automatic parallelization hurts high performance? What do you mean - things like throttling when extremely high-end vector instructions are used?
I hope step 1 is to get a working TLS certificate.
Edit: Oh, I see. https serves the wrong site...
(Not saying that they're entirely wrong)
I'm not sure I could fill a bus if I located every programmer in my area who ever used Perl on a PC. But as someone points out the tone of the page appears to be tongue-in-cheek.
On the other hand, I think "(worse yet) Java" would make a great .sig line.
After studying Java and C courses Per felt like a language I can finally do something useful without boilerplate. And for simple text processing it was fast enough.
But then codebase grew... Switched to Python and never looked back past 15 years.
Please let Perl die
But for one of the goals, Python just seems more immediately accessible to "non-programmer" technical people for whom programming is merely a means to a non-programming end.
I used to use Perl decades ago. I can barely read it anymore.
This is a bit, right?
This is a splitter's manifesto of what he's going to do right where he blames everyone else for shortcomings he's done little to nothing to help overcome. He's too egotistical and toxic to get any work merged into the mainline project, so he has decided to lead from outside the established community and separate from the established foundation. He's a technically quite competent developer who can't work well with others. He speaks for himself and claims broad support and calls his ramblings a master plan, implying that he's a master planner for the whole community.
Most of his plans don't even involve Perl mainline or Raku. He's pushing his own RPerl and Reini Urban's CPerl both of which depart from the Perl code base. He does this while calling others stupid and difficult and repeatedly violating the CoC of The Perl Foundation online and at several major events (including repeated harassment over gender, gender identity, sexuality, physical disabilities, and his perceptions of other people's moral obligations and shortcomings under his religion).
During the recent Perl6 to Raku rename, when the plan was to create a new Facebook group for Raku and direct visitors to the Raku group from the Perl 6 group, he unilaterally renamed the Perl 6 group to reflect the name change. So we had two Raku groups and no group for people to find it by the old name and be redirected. All the old posts to the Perl 6 group were now in the newly renamed Raku group. Since a group can only by renamed every so often, the fresh Raku group was renamed by the founder of the group to be "Perl 6" for discoverability and aimed at the old, original group now named "Raku" but with posts predating the name change talking about Perl 6. Rather than apologizing when the difficulty he caused was pointed out, he claimed nobody would look under the old name during the transition period and he was doing everyone a favor with his rash actions since the founder of both groups hadn't rushed headlong into the same decision.
He also has a history of using images and other assets without permission or even attribution. He claims t if something isn't watermarked with a copyright he's in the clear, which is obviously false on its face in any Berne Convention country.
Then he wonders why he gets disinvited and nobody wants to work with him on merging his work upstream. So since everyone else isn't playing by his rules, he has apparently decided to once again apply his own rules to everyone else and claim to speak for The Perl Foundation and the larger Perl community despite no mandate at all to do so.