120 comments

[ 3.2 ms ] story [ 185 ms ] thread
This is a great bit!

This is a bit, right?

why? It's never explained why
I love Perl, but this is delusional
Indeed. Especially when you realize this is only the first of many sites Will Brasswell wants other people to make:

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

This is great. But what is it?
TL;DR: this is the manifesto of a self-selected maintainer of a largely incompatible fork who has growing delusions of usefulness.

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.

This gets it exactly backwards, IMHO. It’s all about what Perl needs: more Perl jobs, more Perl classes, more Perl apps. But what drives adoption of a language are the ways that language satisfies what users and developers need.

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.

ya he has pearl vision lol... needs to get his i's checks
Have tried this with Common Lisp and Haskell.

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.

>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.

The status quo had changed quite a lot in the past 10 years. Anything can happen.
I disagree -- software development is more fashion-driven than the fashion industry itself.

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's what the industry looks like among early adopters, but most developers wait for clear winners to emerge on new niches before they commit.
I'm not sure that's true -- I think most developers use whatever is fashionable in their circle at the time, and then the project gets locked into that tech. In some circles, they're old enough to stabilize: kernel developers are attuned to C, and will rarely consider anything else regardless of option-availability, because their entire ecosystem (and by virtue, culture) revolves around C. C of course was picked in the first place because of the fashion at the time kernel development got into gear.

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.

Which is why I write Elm code at home, but Javascript at work. I'm told the latter is the right tool because the company might have to hire someone to maintain it in ten years, and there just cannot be any deviation because any other language would make that ethereal future hire too expensive.

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.

There are a lot of "ideal" languages out there that are overwhelmingly under used - haskell, erlang, etc.

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.

JavaScript got popular because it was the only option for scripting in browser. Newbs constantly trip over its hazardous wires lying all over the floor. It's absurdly daunting, especially once you bring in all the modern libraries full of their own baggage.

What you say is true for Python though.

Plus many people fall in love with their first language, which is very often JavaScript. In an earlier era this seemed to happen quite a bit with Pascal, likely because it was a common teaching language.
I learn computer programming with basic, then Pascal, but only felt in love with python.
Guess this is a perk of QBasic being my first language. It's so dead and forgotten and I haven't touched it in 20 years that I just don't care about it. That, and once I learned C, I felt like a real programmer, so there wasn't any reason to go back.
I still get misty when I think about how easy it was to use QBasic and it's IDE to throw stuff together and get graphics and sound going. I moved on to C++ and Java, and the overhead of trying to take that next step was steep.

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.

I still remember making very simple RPGs in QBasic in full pixelated glory. For getting a bunch of kids into programming, it was a great language.
(comment deleted)
Language popularity is almost exclusively driven by the ability for MBA's to hire cheap, mediocre/bad programmers to slash away at garbage heap codebases in said language, while endlessly billing customers for 'fixes/improvements'. If you have a good team with good tools, you have less billing to do and maybe not enough people to justify convoluted management structures and practices.

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.

... and now let's talk about in-house development.
The real question is whether a programming language that has lost traction, mindshare, and focus ever gained it back? It's probably no coincidence that Python's rise was at the same time of Perl's stagnation.
I think what happened to Perl is that its approach (puns, whimsy, ornate symbols, multiple ways to do the same thing) suddenly became extremely unfashionable with the rise in popularity of more clean and simple languages like Python and Ruby (although Ruby had a much more whimsical US community in the past, it's not part of the core language community in the same 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.

I don't think those things became unfashionable, it was just not what people who were until then (late 90ies) not programmers were looking for. They were looking to get shit done (tm) and verbosity (Java) or clarity (Python) suited what they were looking for much better than Perl (a clever language for clever programmers).
I think that's a large part of it, yes, but a lot of folks saw the demented weirdness of perl and were (rightfully) turned off. And by that time there were sane alternatives available.
Well, Ruby has Rails and it is still declining very fast, it's very hard to seen it come up back again, Perl has no chance.
Don't think Ruby is declining anymore tbh, neither is PHP. They were once hugely popular and then shrank back to moderate usage; any data to back up that Ruby is losing usage over the last 3-5 years?
I would say yes, but only in the form of a new language with differences from the older forms.

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.

That's pretty much what Raku is – a substantially new language, with a new name but the same mission as Perl.
I don't understand the lineage that you've charted here. ML is older than all the others; Haskell is older than Clojure and PLT/Racket; Common Lisp is older than Racket/PLT, etc. The arrows don't make any sense.
I think he's charted three separate lineages, with no cross-lineage relationships implied.
It was meant to be 3 separate lines, I made a formatting mistake that I can no longer edit.
Ahh... thank you for explaining. :)
Python is actually a good example of such language. I feel like it started to stagnate around a decade ago(slow adoption of Python 3, poor packaging, Ruby on Rails winning over Django etc) but then it has reinvented itself in the area of ML/AI. Similarly but less impressively, Java 8 has slowed down the rate of flow of Java devs to newer languages.
I cannot tell if this is satire or not.
As with many things Perl, it's tounge-in-cheek.

Yes, they want to increase Perl adoption. No, they probably don't think they can realistically meet all those goals in the forseeable future.

A lot of people shitting on the website in this thread, but it seems to me like you guys are missing the point - this isn't a site targeted towards people who aren't using it currently - it's a site targeting the true believers to give them more concrete actions they can take to help spread the faith.
If it contributes nothing to the discussion of actually making Perl a language useful to the problems developers face today, the site deserves the criticism.
> If it contributes nothing to the discussion of actually making Perl a language useful to the problems developers face today

It does - for example it talks about a project to make Perl faster.

> 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.

While there are some actionable pieces of advice on the page, a large percentage is misguided and if taken seriously would simply waste already strained resources. Mobile apps and 3D games in Perl 5? Might become someone’s toy, but good luck finding any adoption... Perl 5 taught in every high school? Give me a break...
The true believers are using perl. Neither rperl nor cperl is compatible with perl at this time, and the authors of both didn't so much burn their bridges as dynamite them on the way out of the mainstream community.

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 :(

I guess I don’t see the point. Ruby and Python fit the bill okay.
"In the past, Perl applications could be found on most computers."

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.

Have used Parl at its height.

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

There was a discussion on this a week ago in the Perl subreddit where some key community members (Ex: Ovid) chime in.

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.

> We are now developing the RPerl compiler, which provides startup optimization, serial runtime optimization, automatic parallelization, and memory usage minimization.

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.

There are languages for which it makes sense to try to be the fastest at some set of things: fastest program initialization, fastest network socket library, fastest regular expressions. That's all nice, but in the vast majority of programming work, "fastest learning curve from hello,world to low-error-count CRUD program" is the best spec.

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 in multi core context as something only hurting high performance

Automatic parallelization hurts high performance? What do you mean - things like throttling when extremely high-end vector instructions are used?

No, I mean more generally performance and efficiency of multi core computational models are tightly bound to algorithms and so auto parallelization can only add restrictions on what algorithms can be implemented and what performance can be achieved. Basically the same problem many languages have that try to use more cores, instead of pursuing higher performance, and of course end up slow.
Is this satire?
I'm not sure. The external links (ex: http://teenperl.com, http://perlscouts.com) are not real sites. If it's real, its very sad. Hard to get fired up and believe Perl can be relevant in the modern world via a ridiculous website that looks like a bad amateur job.
Amateur job is the right description. No, alas, it is not satire, far from it. :-(
> The certificate is only valid for the following names: packages.rperl.org, phpmyadmin.cloud-web0.autoparallel.com

I hope step 1 is to get a working TLS certificate.

Edit: Oh, I see. https serves the wrong site...

This was always the problem of Perl: it tried to be all things to all people:

> * 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

Honestly python won in large part because perl took over a decade to come out with perl 6. Knowing that there was a backwards-incompatible upgrade on the horizon shortly and having that be true for a decade meant that new projects in perl or major upgrades in perl were delayed and then shifted to projects in other languages. Python and ruby both were beneficiaries of this (especially with PHP going through a similar process with PHP 6 which took 5 years before being abandoned.)
Cough. Python 3. Cough.

(I don't dispute the majority of your point, but I don't think all 10 year, backwards-incompatible upgrades are created equal.)

Agreed. The main difference is that development of python 3 didn't stop development on the 2.x branch until 3.4(?) was out. There was also an upgrade path and the ability to support both Python 2 and Python 3 at the same time. Python 3 could _easily_ have been a similar roadblock but was handled well enough to avoid that fate (better upgrade tooling would have been a massive help)
Of course to reverse the trend Perl needs more programmers etc., but Perl for its own sake isn't really a compelling argument. The question really isn't "What's required to make Perl a more common language?" The question is, "Why should anyone choose Perl over another option?"

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.

To be clear, this was NOT written by Larry Wall. It was written by Will "the Chill" Braswell, author of a perl fork called `RPerl.`

He is not speaking for the general Perl community

Thanks for clarifying. The presentation is a bit misleading then-- it has Larry's picture & name at the top, looking like a byline, and I don't see any other obvious author except at the very bottoms where two people are listed as "endorsements"
Will Brasswell has a long history of appropriating other peoples images / volunteering other people, even to the point of submitting talk proposals for people at conferences without their knowledge or consent.

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.

Another challenge Perl has is that many of its advocates and developers have either retired or are on the verge of retiring.
Not exactly true. The current lead maintainer for Perl 5 is in his mid 30s at a guess, a large chunk of us are between that and our early 50s. This puts most of us around a decade or two out from retirement.

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.

That doesn’t look like the general trend even in the early 2000s. Perl projects tend to be the maintenance of old systems instead of the development of new ones. New blood is pooling around JS/TS and Python. At best Perl’s popularity has stagnated.
Most of it's developers and advocates have moved on to other more popular languages is arguably true (in addition to JS/TS I see a lot of Perl devs moving to Go). I know I personally do very little Perl despite working on a team where a significant portion of the work is done in Perl that is less than 2 years old.

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.

> But that's not what you claimed, you claimed the developers and advocates were mostly retiring.

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.

Perl is #1 in Advent (perladvent.org).

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 :-)

On my Macbook Pro parsing a 19Mb log file with a regex using the latest Perl 6 (Rakudo 2019.3) takes 8.3 times as long as Perl 5 and 5.1 times as long as Ruby 2.7, excluding startup time. Text processing is what made Perl famous so I can't see Perl 6 having a cat-in-hell's chance until performance improves significantly.
The OP is about Perl 5 not Raku (formerly known as perl 6)
These guys are using mostly Perl 5 though. They basically forked 5 years ago and call it Perl 11. They have a good relationship with Perl 6 devs/maintainers and even incorporate some of 6 in their work (that's where 11 comes from 5+6=11). AFAIK they are working with them to get Perl 6 to use the name Raku and drop the link to 6 and let Perl 5 continue as it was with new development instead of Perl becoming a completely new language.

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.

I think that's part of this push, that Perl 6 is gonna become Raku, so that Perl 5 is just Perl again. Then I think Perl 11 is an aspirational interpreter/VM that will allow both to run, as was originally intended. I do see your point though.
This push did not involve any consultation with any community. He has never contributed anything to Perl 6, let alone Raku. He continues to use Larry's image and calling him a "saint", without his consent. He does not listen to other people.

In other words: he's doing Perl the worst possibly favour.

> They have a good relationship with Perl 6 devs/maintainers

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."

Hey thanks for correcting me. I was unaware of a lot of what's going on behind the scenes. As mentioned I was a heavy user of Perl 5 for a long time and I'll still find any excuse to use it given a problem I think it will be good at solving.

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!

's all cool, dude, countering their spin while minimally signal boosting it is why I'm commenting in this thread.

Have a skim through chromatic's Modern Perl when you're bored and see if it gives you ideas :)

I actually have read parts of it. My work stopped subscribing to O'Reilly's Safari Online Library so I lost access to it, kind of forgot about it but thanks for the reminder, I might just grab a copy today.

And thanks for the kind reply, there's nothing I hate more than speaking incorrectly or out of turn on HN!

Braswell's main push is his project RPerl which is a low-magic Perl5 subset compiled, with its best performance achieved by writing sections of your application in C++.

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.

> They have a good relationship with Perl 6 devs/maintainers

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).

If you want your language to win, all you need is Google to adopt it in one of their products. Apparently that's all that matters.
Godspeed.

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 from the Perl11 guys, right? So, not exactly the Perl mainstream, if such a thing exists these days.

(Not saying that they're entirely wrong)

Haha, didn't read the post, the title alone gave me enough laughs.