As someone who was there, I will say that Perl 6 absolutely killed Perl. It was always coming Real Soon Now but was never going to be backwards-compatible with Perl 5, so every new line of Perl 5 code you wrote was instant technical debt; something you were (in theory) going to have to rewrite in the not-too-distant future.

Your choices were to wait for Perl 6 or switch to a different language. If you waited, you were waiting for a long time. Like most people, I eventually switched.

A lot of this comes down to naming. If they'd called it Raku from the get-go rather than Perl 6, nobody would have seen it as obsoleting Perl 5.

Some people seem to think Raku (formerly known as “Perl 6”) sucked momentum out of Perl, but I don’t believe that. Everyone I talked to back then knew Perl wasn’t going anywhere. Humanity had chained too much of the infrastructure of the growing internet to it. Even if Raku turned out to be a wild success, someone would have to keep maintaining Perl for many years to come. There was never any danger of obsolescence in starting a new project in Perl.

This gets at one of my longstanding hobby horses, to wit: names mean things, or more accurately, names REPRESENT things. They are handles our brain uses to grasp abstractions. Applying the same name to wildly different things is slathering grease on the handle. The brain can't grasp it. It slides right off.

If you are making a new version of an existing product, and that new version is so different as to effectively be a completely new product, just give the new version a different name. It will save you so much heartburn.

0

If you have a fediverse account, you can quote this note from your own instance. Search https://vmst.io/users/jalefkowit/statuses/115577904419536128 on your instance and quote it. (Note that quoting is not supported in Mastodon.)