| ▲ | autarch 8 hours ago | ||||||||||||||||||||||||||||||||||||||||||||||
As a very long-time Perl developer and FOSS contributor, I think this blog post is incorrect about whether Perl 6/Raku was a factor in Perl's decline. I think Perl 6/Raku did a few things that hurt Perl 5: 1. It pulled away folks who would otherwise have spent time improving Perl 5 (either the core or via modules). 2. It discouraged significant changes to the Perl 5 language, since many people figured that it wasn't worth it with Perl 6 just around the corner. 3. It confused CTO/VP Eng types, some of whom thought that they shouldn't invest in Perl 5, since Perl 6 was coming soon. I've heard multiple people in the Perl community discuss hearing this directly from execs. Of course, hindsight is 20/20 and all that. Also, even if Perl 6 had never happened the way it did and instead we'd just had smaller evolutions of the language in major versions, I think usage would still have shrunk over time. A lot of people just dislike Perl's weird syntax and behavior. Many of those people were in a position to teach undergrads, and they chose to use Python and Java. And other languages have improved a lot or been created in the past 20+ years. Java has gotten way better, as has Python. JavaScript went from "terribly browser-only language" to "much less terrible run anywhere language" with a huge ecosystem. And Go came along and provided an aggressively mediocre but very usable strongly typed language with super-fast builds and easy deploys. Edit: Also PHP was a huge factor in displacing Perl for the quick and dirty web app on hosted services. It was super easy to deploy and ran way faster than Perl without mod_perl. Using mod_perl generally wasn't possible on shared hosting, which was very common back in the days before everyone got their own VM. All of those things would still have eaten some of Perl's lunch. | |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | hylaride 8 hours ago | parent | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
I think this is mostly the correct take. Perl's strength is that it was really good and quick and dirty one-offs, especially with text manipulation. This made it particularly popular with UNIX sysadmins and sometimes network admins. This was helped by the fact that CPAN made it easy to share a lot of these, which added to its popularity (it can't be overstated how revolutionary CPAN was). The 1980s/1990s was full of many different data formats in a time before XML/JSON, often by long dead companies. Many a tech person was in a situation where "Oh fuck, how do I get this data out of some obscure database from some dead company from Boston that only ran on SCO UNIX into SAP/Oracle/etc" only to see somebody else already done it and made a CPAN module. But stories like that became less common as DBs converged into a few players. | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | Taikonerd 8 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
I would also say -- in the late 90s, Perl's claim to fame was that it had CPAN. At the time, CPAN was revolutionary: a big, centralized repo of open-source libraries, which you could install with a single command. Now, of course, that's a common and maybe even expected thing for a library to have: Python has Pypi, Javascript has NPM, etc. | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | runjake 8 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
I was a Perl programmer from the early 1990s until into the 2000s and I mostly agree with you. It was a variety of factors. The point where I disagree is I think Perl 6/Raku played a significant role in Perl's decline. It really gave me the perception that they were rudderless and that Perl probably had no future. Other than that, I absolutely loved Perl. I love the language. It's super expressive. I never took a liking to CPAN. And I wonder if it could make a comeback given better dependency management. I think Perl with tooling similar to uv would cause me to switch back today. | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | cogman10 5 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
> Also, even if Perl 6 had never happened the way it did and instead we'd just had smaller evolutions of the language in major versions, I think usage would still have shrunk over time. Maybe. I mean the whole point of 6 was to modernize perl. Perl needed efforts like 6 to happen, but it needed them delivered in smaller chunks over the years rather than as a big decade long "And now 6 is here". Java learned this lesson after Java 8 and 9 which took multi-year effort to deliver 1 or 2 big changes to the language and the JVM. Now Java has multiple efforts in flight which have trickled in over the years (tickling me as a dev). Every 6 month release is a little better which makes the multi-year efforts seem all that much more worth it when they land. | |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | brightball 5 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
All good points. There was a solid talk on modern web dev with Perl at the Carolina Code Conference last year. Created some interest in several people who talked to me about experimenting with it for a while afterwards. | |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | dspillett 5 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
> A lot of people just dislike Perl's weird syntax and behavior. As much as I liked Perl back in the day, it did sometimes earn its reputation as a write-only language! | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | Joker_vD 3 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
> And Go came along and provided an aggressively mediocre but very usable See, that's one of the things lots of people who enjoy Perl and/or Ruby in the comments around in this thread don't quite grasp: some languages require programmers possessing a somewhat special state of mind to read and write productively, and some languages allow pretty much every mediocre programmer to read and write, and still produce a manageable program. The other thing is the information density. In my experience, most people after graduating high school have experience with reading mainstream fiction and school textbooks, and those things you can half-skim/half-read and still get out most of the meaning. Then those people hit the college-/university-level textbooks and screech and crash because those books, you have to read them sentence by sentence; not everyone can get get used to it (or even realize they have to do that in the first place). And similar observations hold for programming languages: Perl and APL are just way too dense compared to Go and Python; if you're used to reading code line-by-line (skimming over half of them), then it's really bloody annoying to switch to reading sigil-by-sigil (as for writing, well, we all know that typing speed was never really a bottleneck for programmers). | |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | huherto 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
True. Adding to these. Perl6/Raku suffered from the second system effect. Described in the Mythical Man Month. Larry and company were over confident with their previous success. | |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | ajross 7 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
You mention it last, but I think PHP was most of it. PHP was the first and best-integrated technology for this world, which was huge and impactful. The "center of thought" in the text processing problem area moved hard to web development. And so the ideas about what needs to be improved or changed rapidly centered themselves around "Things PHP Did Badly". And that begat Ruby and Node, not a fixed-up Perl. Perl remained (and remains!) eminently useful in its original domain of Unix system automation glue and ad-hoc text analysis. But it was denied a path to the future by PHP, and by the time PHP was itself replaced it was too late. Finally everyone else (python in particular) sorta caught up to the "clever systems glue" feature set, and the world moved on entirely. Perl is mostly forgotten now except by those of us who lived it. | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | DonHopkins 2 hours ago | parent | prev [-] | ||||||||||||||||||||||||||||||||||||||||||||||
>It confused CTO/VP Eng types I wouldn't call making the right decision confused. It clarified and justified their desire not to use Perl. Only a confused CTO/VP Eng type would choose to use Perl in spite of all its entrenched disadvantages and much better more popular alternatives. | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||