frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Perl's Decline Was Cultural

https://www.beatworm.co.uk/blog/computers/perls-decline-was-cultural-not-technical
50•todsacerdoti•52m ago

Comments

superkuh•25m ago
Perl's "decline" saved it from a fate worst than death: popularity and splitting into dozens of incompatible versions from added/removed features (like python). Instead Perl is just available everywhere in the same stable form. Scripts always can just use the system perl interpreter. And most of the time a script written in $currentyear can run just as well on a perl system interpreter from 2 decades ago (and vice versa). It is the perfect language for system adminstration and personal use. Even if it isn't for machine learning and those kinds of bleeding edge things that need constant major changes. There are trade-offs.

This kind of ubiquitous availablility (from early popularity) combined with the huge drop-off in popularity due to raku/etc, lead to a unique and very valuable situation unmatched by any other comparable language. Perl just works everywhere. No containers, no dep hell, no specific versions of the language needed. Perl is Perl and it does what it always has reliably.

I love it. The decline was a savior.

keepamovin•17m ago
My language learning trajectory (from 10 years old) was 8086 assembly, QBASIC, C, Perl, Java, MAGMA, JavaScript/HTML/CSS, Python, Haskell, C++, vibe coding
amiga386•9m ago
Perl's binary brings with it the ability to run every release of the language, from 5.8 onwards. You can mix and match Perl 5.30 code with 5.8 code with 5.20 code, whatever, just say "use v5.20.0;" at the start of each module or script.

By comparison, Python can barely go one version without both introducing new things and removing old things from the language, so anything written in Python is only safe for a a fragile, narrow window of versions, and anything written for it needs to keep being updated just to stay where it is.

Python interpreter: if you can tell "print" is being used as a keyword rather than a function call, in order to scold the programmer for doing that, you can equally just perform the function call.

cedilla•4m ago
What incompatible versions of pythons do you mean? I'm entirely unaware of any forks, and the youngest version I have to supply at the moment is 3.9, which is over 5 years old and available in all supported platforms.
999900000999•24m ago
Python is mentioned and I think the key reason it's continued to grow while Perl declined, is a vastly more welcoming culture.

Python says you know nothing, but want to automate a small task. The community will help you. More so than any other language.

Then again, Python 2 and Python 3 are two different languages.

Very few projects are willing to have such a massive migration.

mmastrac•23m ago
In fairness, Perl died because it was just not a good language compared to others that popped up after its peak. Sometimes people just move to the better option.
frankwiles•18m ago
Yeah I think I would have been considered part of the “in” crowd of Perl to some degree and it wasn’t the culture that drove me away and to Python.

It was Django and the people involved with it.

liveoneggs•10m ago
> and the people involved with it.

Culture?

MangoToupe•17m ago
Perl was (and still is) a very expressive and concise language for working with text and a unix-style system. It exists in the odd space between a shell language and a general purpose language.

But, shell scripting has already become somewhat of an arcane skill. I think the article nailed that Perl was just too hard to learn for the value it provided to survive. Python is not nearly as, erm, expressive as perl for working in that space, but it is much easier to learn, both in terms of reading and writing. In other words, it encourages broadly maintainable code. Ruby is quite similar (although I think people massively overstate how much the language itself generally encourages understandable semantics)

jordanb•10m ago
Shell is a crappy scripting language because it has primitive data structures and data flow control making it hard to manage and manipulate data as you process it between applications. The fact that newlines are such a problem is a case in point.

Python is a crappy shell scripting language because the syntax around pipe and subprocess is really clunky.

Perl managed to have decent data structures and also have decent syntax around subprocess calls.

But I feel like the Python invoke module gives me everything I need wrt subprocess calls. I basically write any nontrivial "shell script" these days as a Python invoke command.

zahlman•5m ago
I assume you refer to https://www.pyinvoke.org/ which I just looked up. It looks quite promising, thanks for the heads-up.
zahlman•10m ago
> Perl was (and still is) a very expressive and concise language for working with text and a unix-style system. It exists in the odd space between a shell language and a general purpose language.

GvR explicitly describes the motivation behind Python in similar terms (I can probably find a timestamp in that recent documentary for this). But the goal there was to be fully "general purpose" (and readable and pragmatic, more than artistic) while trying to capture what he saw as the good things about shell languages.

And it's changed quite a bit since then, and there are many things I would say with the benefit of hindsight were clear missteps.

We all joke about the hard problems of computer science, but it seems to me that the hard problems of programming language design, specifically (and perhaps software engineering more generally?) include having good taste and figuring out what to do about reverse compatibility.

> I think the article nailed that Perl was just too hard to learn for the value it provided to survive. Python is not nearly as, erm, expressive as perl for working in that space, but it is much easier to learn

The use cases have also changed over time. Quite a lot of developers ended up on Windows (although that pendulum is perhaps shifting again) where the rules and expectations of "shell" are very different. To say nothing of e.g. web development; long gone are the days of "cgi-bin" everywhere.

zihotki•9m ago
> Perl was (and still is) a very expressive and concise language

And that could be one of major reasons why it lost in popularity. It was and still is easy to write but hard to read.

atherton94027•14m ago
There was so much complexity hidden behind "do what I mean". For example, scalar vs array context which was super subtle:

  my @var = @array  # copy the array
  my $var = @array  # return the count of elements in array
js2•8m ago
[delayed]
eduction•12m ago
I agree and Steve Yegge covered the reasons well here: https://sites.google.com/site/steveyegge2/ancient-languages-...

His point about references is no small thing. Other dynamic languages don’t make users think much about the distinction between references and values at the syntax level. With Perl you needed to use “->” arrow operator frequently if and only if you were using references. So getting at a map inside an array or vice versa had its own syntax vs reading a string in a map or array.

Also it had bolted on, awkward OO on top of the bolted on, awkward params passing. You literally had to shift “self” (or “this”) off a magical array variable (@_).

By default it wouldn’t warn if you tried to read from an undeclared variable or tried to use one in a conditional or assign from one. You had to declare “use strict;” for that. Which wasn’t hard! But these awkward things piled up, a bunch of small cuts. Don’t forget “use warnings;” also, another thing to put at the top of every Perl file.

To the extent its awkward syntax came out of aping of shell and common Unix cli tools, you could maybe see it as cultural issue if you squint.

But any language in the mid 90s was infected with the “rtfm” priesthood vibe the author writes about, because the internet then was disproportionately populated by those sysop types, especially the part that can answer programming language questions on usenet, which is basically where you had to ask back then.

nine_k•7m ago
Perl is a great language, the way Scala and Haskell are great: as openly experimental languages, they tried interesting, unorthodox approaches, with varied success. "More than one way to do it" is Perl's motto, because of its audacious experimentation ethos, I'd say.

Perl is not that good a language though for practical purposes. The same way, a breadboard contraption is not what you want to ship as your hardware product, but without it, and the mistakes made and addressed while tinkering with it, the sleek consumer-grade PCB won't be possible to design.

deafpolygon•22m ago
Perl6/Raku killed Perl.

Python 3 almost killed Python.

It's normal. Once a community loses faith, it's hard to stop them from leaving.

MangoToupe•15m ago
> Python 3 almost killed Python.

People were being crybabies; the critics were extremely vocal and few. Python 3 improved the language in every way and the tooling to upgrade remains unmatched.

symbogra•12m ago
Python 3 was a disaster and enterprises were still undertaking pointless 2->3 upgrade projects 10 years later
symbogra•11m ago
Agree 100%. We were told to wait for any improvements or new features we wanted and just to wait for Perl 6, which never came
daedrdev•21m ago
I think a big part is does someone starting to program even hear that Perl exists? No, and they start learning python and so have little need to learn Perl after that
jordanb•17m ago
I always found the Perl "community" to be really off-putting with all the monk and wizard nonsense. Then there was the whole one-liner thing that was all about being clever and obscure. Everything about Python came off as being much more serious and normal for a young nerd who wasn't a theater kid.
RayFrankenstein•17m ago
There was a lot of pressure in the Perl community to write things as succinctly as possible instead of as maintainably and understandably. That’s not realistic for use in a field with a lot of turnover and job hopping.
chrisweekly•15m ago
Yeah the joke was, Perl is write-only.
IshKebab•16m ago
Nah Perl just wasn't a very good language. Not every language is equally good.
lysace•5m ago
Careful, we are not allowed to say such things.
tguvot•15m ago
I spent year developing CMS in Perl in 1999 (HTA application with ActivePerl. wonder if anybody else did something like this). It traumatized me, and first thing that I did in my next job is to learn python and develop some core systems in it. Few of my friends moved from perl to python as well.

I still remember spending time with my coworkers on bench outside of building trying to figure out #@$%$^&$%@something = []sd[dsd]@$#!&lala lines written by previous developers

calmbonsai•14m ago
No. Perl died because other languages starting having an equivalent to CPAN and its extremely flexible syntax does not scale for medium to large team coordination.
dc396•12m ago
I was a fairly heavy user of Perl, but eventually migrated to Python. The primary reason was the generally abysmal quality of what was in CPAN compared to what was available as third-party packages for Python. I found myself having to spend way too much time fixing stuff I pulled down from CPAN far more than I'd need to for Python for the same functionality. Undoubtedly Perl stuff got better, but I didn't have time to wait.
webdevver•5m ago
i disagree, python is Just Better. ive never used perl but ive had to install it due to some antique tools requiring it, and every time its been an incomprehensible mess. i still have no idea how packages work in perl. also, it seems like everything in perl is a string? and the syntax looks like a mess.

maybe its painful for guys to admit that languages could be a lot better designed, and when such langauges appeared, everyone flocked to them.

streptomycin•4m ago
For me it wasn't cultural.

Perl was my first language because I wanted to make interactive websites and that was the most common way to do it in the late 90s. Shortly after, everyone switched to PHP because mod_php was much faster than Perl CGI scripts.

Fefe is back

http://blog.fefe.de/
1•steve_wilson•2m ago•0 comments

UX for reversible actions: A decision framework for designing for recovery

https://blog.logrocket.com/ux-design/ux-reversible-actions-framework/
1•Kerrick•5m ago•0 comments

Bitwarden Lite

https://bitwarden.com/help/install-and-deploy-lite/
2•thunderbong•6m ago•0 comments

Running with Scissors cancels game over AI-generated assets, days after reveal

https://www.eurogamer.net/has-caused-extreme-damage-to-our-brand-and-our-company-reputation-runni...
1•jsheard•6m ago•0 comments

In conditions of scarcity, elephants (like humans) don't play nice

https://aeon.co/essays/in-conditions-of-scarcity-elephants-like-humans-dont-play-nice
1•gmays•10m ago•0 comments

Robust code generation combining grammars and LLMs

https://raku-advent.blog/2025/12/06/day-6-robust-code-generation-combining-grammars-and-llms/
2•antononcube•10m ago•0 comments

Show HN: UISora – AI-Powered Mobile App UI Designer

https://uisora.com
1•Enyaaba•12m ago•0 comments

Chernobyl radiation shield has stopped working after Russian drone strikes

https://www.politico.eu/article/chernobyl-radiation-shield-has-stopped-working-after-russian-dron...
1•giuliomagnifico•15m ago•0 comments

Are We Testing AI's Intelligence the Wrong Way?

https://spectrum.ieee.org/melanie-mitchell
1•Brajeshwar•15m ago•0 comments

Sardine-inspired washing machine filter removes 99% of microplastics

https://www.popsci.com/environment/fish-washing-machine-microplastic-filter/
1•Brajeshwar•16m ago•0 comments

A Reminder on the Realities of Digital Purchases

https://chuck.is/purchasing/
1•janandonly•17m ago•0 comments

Olympian Motors

https://olympianmotors.com/
1•durron•17m ago•0 comments

Olga Tokarczuk Recommends Visionary Science Fiction

https://www.newyorker.com/books/book-currents/olga-tokarczuk-recommends-visionary-science-fiction
1•bookofjoe•18m ago•1 comments

Why Does A.I. Write Like That?

https://www.nytimes.com/2025/12/03/magazine/chatbot-writing-style.html
2•tptacek•19m ago•0 comments

National Security Strategy of the United States of America [pdf]

https://www.whitehouse.gov/wp-content/uploads/2025/12/2025-National-Security-Strategy.pdf
3•collinmanderson•21m ago•3 comments

I made this because I was struggling as a dad can you tell me what you think?

https://BirthdayInvitation.ai
1•nedhuang•22m ago•1 comments

Why Boulder PD transitioned to encrypted radios

https://www.dailycamera.com/2025/12/06/chief-stephen-redfearn-boulder-police-department-radio-sca...
1•apwheele•23m ago•0 comments

Grokipedia's political perspective closely matches Elon Musk's personal views

https://english.elpais.com/technology/2025-12-06/jimmy-wales-grokipedias-political-perspective-se...
1•geox•23m ago•0 comments

Telemetry-Anchored Chaotic Cipher – A physics-conditioned key evolutionprototype

https://github.com/FoxhunterLabs/TACC_Demo
1•FoxhunterLabs•23m ago•1 comments

Reflections from shutting down my VC backed startup after 4 years

https://shivekkhurana.com/blog/reflections-after-shutting-down-first-vc-backed-startup/
1•shivekkhurana•26m ago•0 comments

Netflix is not a tech company (2019)

https://www.ben-evans.com/benedictevans/2019/7/31/Netflix
1•aleda145•28m ago•0 comments

Say – a terminal‑first voice and video call utility

https://github.com/svanichkin/say
3•gnodar•30m ago•0 comments

Looking for contributors: AI news curation agent (MIT license)

https://github.com/tejiri-code/pulse-ai
1•tejiri15•33m ago•1 comments

Why I Don't Socialize at 35 Living in China [video]

https://www.youtube.com/watch?v=L6N0t_bkawA
1•donsupreme•37m ago•0 comments

Byte Shop 50th Year Birthday Party

https://byteshop50thyearbirthdayp.rsvpify.com
1•robterrell•38m ago•1 comments

The cognitive neuroscience of memory representations

https://www.sciencedirect.com/science/article/pii/S014976342500418X?via%3Dihub
1•bookofjoe•38m ago•0 comments

Apple Rocked by Executive Departures, with Chip Chief at Risk of Leaving Next

https://www.bloomberg.com/news/articles/2025-12-06/apple-rocked-by-executive-departures-with-john...
6•retskrad•38m ago•1 comments

Show HN: Manifesto – An AI-Native UI Framework Intent-to-State, Not Text-to-App

https://manifesto-ai.dev
1•eggplantiny•39m ago•0 comments

Show HN: SideSpark – A Local, Private AI Note Taker for macOS

https://sidespark.app/
1•raj_khare•43m ago•0 comments

Weird FFmpeg Use Cases – Part 03

https://www.youtube.com/watch?v=5kvLDWYyJX8
2•implabinash•47m ago•1 comments