logoalt Hacker News

Programmers aren’t so humble anymore, maybe because nobody codes in Perl

195 pointsby Timothee07/29/2025211 commentsview on HN

Comments

noisy_boy08/01/2025

I remember reading the Perl O'Reilly book (Introduction to Perl[0]) end-to-end and basically feeling that it all makes sense - ($)calar, (@)rray and % for dictionary (because we have a pair of "o"s representing key/value) and so on. Coming from only writing bash (which is all people around me wrote), it was like a becoming a superhero overnight. I rewrote all my bash scripts in Perl and got high level language features with blazing speed. I relished taking people's bash scripts that took an hour and rewriting them in Perl for them to take barely few minutes (which was objectively terrible performance but I was a novice programmer then and nobody else knew better). I was a hotshot. It was an awesome feeling.

Later I got another role solely because they couldn't find Perl programmers and I wasn't half bad at it. But this was an actual application written by a bunch of people who wanted to write clever code and it was like handing over the keys to a missile depot to a bunch of arsonists. Many thousands LoC. By the end of it, I was told that we need to move to using Java and I could barely contain my relief.

For one-off scripts, still nothing flows like Perl. It is the most interesting language I have coded in, bar none.

[0] correction: Learning Perl, the llama book (thanks @ninkendo)

show 5 replies
KaiserPro07/31/2025

I took great pride in making readable, maintainable perl.

I worked at a VFX place that was held together by loads of perl, written over a good 15 years. Some of it was clever, but most of it was plain readable scripts.

The key to keeping it readable was decent code reviews and someone ripping the piss out of you for making unreadable soup.

Its all python nowadays, I do miss CPAN, but I don't miss perls halfarsed function args.

However for the longest time, the documentation for perl was >> than python. At the time python doc were written almost exclusively for people who knew how to python. Perl docs assumed you were in a hurry and needed an answer now, and if you were still reading by the end assumed you either cared or were lost and needed more info.

With the rise of datascience, python has lost its "oh you should be able to just guess, look how _logical_ the syntax is" to "do it like this."

show 7 replies
CaliforniaKarl08/01/2025

One thing I wish other languages had was Perl's taint mode: Once enabled, input coming from the outside was "tainted", along with anything you explicitly marked as tainted. If a tainted variable was used to populate another tainted variable (such as by concatenation), the result itself was tainted. If a tainted variable was used in certain ways (such as with the `open` call), the program crashed. The primary way to remove a taint was by running the variable through a regular expression, and using the captured matches (which would not be tainted).

show 6 replies
alexpotato07/31/2025

As both a long time Perl and long time Python user who has seen both used in production, here are some of my thoughts:

Perl

- Was an easy jump from bash to Perl

- Perl never felt like it "got in the way"

- was WAY too easy to write "write only code"

- that being said, I learned Java first and most people found MY Perl code to be very legible

- regexes as first class citizen were amazing

- backwards compatible is GREAT for older systems still running Perl (looking at you banks and some hedge funds)

Python

- Forced indentation made it MUCH easier to read other people's code

- everything is an object from day one was much better than "bless" in Perl

- no standard way of setting up an environment for MANY years hurt

- sklearn and being taught in universities were real game changers

show 5 replies
jbullock3507/31/2025

Leaving aside issues of language design and the emergence of other languages, it's interesting to think about other reasons why Perl lost popularity. Some of you know this history better than I do, but I think that it's now unknown to most HN readers.

The enormous reason that I see is the insistence, from Larry Wall and others, on a bottom-up "community" transition from Perl 5 to Perl 6. The design process for Perl 6 was announced at a Perl conference in 2000 [1]; 15 years later, almost every Perl user was still using Perl 5. The inability of the Perl community to push forward collectively in a timely way should be taken by every other language community as a cautionary tale.

Tim O'Reilly made a secondary point that may also be important. For a long time, Perl books were O'Reilly's biggest sellers. But the authors of those titles didn't act on his suggestion that they write a "Perl for the Web" book (really a Perl-for-CGI book). Books like that eventually came, but the refusal of leading authors to write such a book may have made it easier for PHP to get a foothold.

[1] https://en.wikipedia.org/wiki/Raku_(programming_language)#Hi...

show 5 replies
ben779908/01/2025

Technically I did my first programming in the 80s as a kid. I went to college in the 1990s. I definitely learned Perl and used it.

However I would say an awful lot of the professionals I was around already thought Perl had a bad smell even in the 1990s. It was definitely looked down up on in academia by then. Maybe not in an IT department or Math department but in the CS department it was. It was used by IT guys, and QA guys, and somebody gluing some tools together. An awful lot of people thought it was unacceptable for it to be in serious production code or anything that had to be long term maintainable or be worked on by a team of people larger than size = 1. Your perception of it definitely came from where you were at the time and how you encountered it. If you were on a team producing software for sale that involved a bunch of people and you had version control and QA and everything Perl was already not your thing.

lapsed_lisper08/01/2025

I worked in Perl for ~2.5 years in the mid-2000s. It wasn't the language for me, but I liked, respected, and am still friends with colleagues who loved it. However, I was always dumbfounded by the experience that none of them could or even professed to be sure of what most code fragments did at a glance, even fragments that only used constructs in the base language. When they worked on existing code, they'd run it, tweak it, run it again, maybe isolate some into a small file to see what it did, look at perldoc, ask questions on IRC, etc. As a Lisp guy, I'm all for interactive & iterative development, but I also like learning tools so as to use them more effectively over time. I didn't find that learning Perl made me more productive with it over time (on a modestly sized, pre-existing code base that needed both maintenance and new feature development), and the Perl lovers I knew didn't seem to mind not having this as part of their work.

Anyhow, toward the end of my time there, I had to interview candidates. Because I came to believe that the above is how one had to work with Perl, I took to asking the ones who said they knew Perl, "Can the reverse builtin reverse a list?" (I won't spoil the answer for you.) Most would answer with "Yes" or "No"; 75% of them were mistaken. Either way I'd ask them "Suppose you weren't confident about that answer. How would you determine the truth?" IIRC, 90% of them said "I'd write this one-liner..." and (I swear) 100% of the one liners would give any reasonable person an impression of an answer that turns out to be incorrect. The ones that said "I'd check the perldoc" were the only ones I'd approve for subsequent interviews.

show 1 reply
superkuh08/01/2025

I write some new Perl/Gtk application a couple times a year. And I use it for automating basic things almost daily. I bet lots of people chose to write in perl for personal projects. It just isn't very visible.

But not that many. And that's why Perl is still Perl. Popularity brings change which means old code stops working.

Perl code from the year 2000 still works in a perl interpreter+libs today. And perl code written today still works on perl interpreter+libs from the year 2000. That incredible stability and reliability is what makes it great. Write something then use it 20 years later and everything just works anywhere you try to run it.

That's why I chose Perl.

show 1 reply
kqr08/01/2025

A lot of people in this thread speculate that Raku (formerly "Perl 6") killed Perl. But I have yet to see convincing first hand accounts confirming that.

I certainly don't believe it. Everyone I talked to at the time who worked with Perl knew it would not go away: humanity had chained too much of the infrastructure of the internet to it. Someone would have to maintain it for many years to come, even if Larry's new experiment became a wild success. (Already back then people seemed skeptical of the experiment and hung back with Perl 5 waiting to see what came out of it before paying too much attention.)

I still struggle to understand why Perl went out of favour[1] but I think what another commenter wrote here might come close: for Unixy folks who know shell, C, awk, sed, Vim, etc. Perl is a natural extension. Then came a generation of programmers brought up on ... I don't know, Visual Basic and Java? and these were more attracted to something like Python, which then became popular enough to become the next generation's first language.

[1]: As someone who knows me might understand: https://entropicthoughts.com/why-perl

show 7 replies
cozzyd07/31/2025

Our experiments use some web services written in Perl (DocDB). The great thing compared to python is they they work for years untouched, through many system updates. Stuff written in Python bitrots fast (using MoinMoin for a wiki was a terrible idea, in retrospect...)

gortok08/01/2025

Perl was the first language I learned, because my local books-a-million, in the year 2000, had basically the entire O’Reilly Perl series deeply discounted ($5.99 to $9.99, a steal for a college freshman), and so I learned Perl.

The writing of the O’Reilly Perl books had this micheviousness to them that is also reflected in the language itself. It espoused an apparent simplicity in doing simple things, like reading from a file or taking user input, that languages like C++ had much more ceremony around. Likewise, when I used it to create a compliance test generator for a company I worked for, it took me a few days to write something that would take their source questions and answers and generate an entire website that folks could use to give exams and certifications for regulatory compliance.

To this day, I have not found any other language that makes text processing as easy as it was in Perl, and given how much of our work is processing text and strings, I’m still a little surprised other languages haven’t made it as easy as Perl did.

altacc07/31/2025

> But perhaps the lesson of Perl is timeless. It asks us to be less precious—and more human—when it comes to programming languages and their design. Only then might we be able to bridge the gap between us and the machines.

I'm not clear which way the author thinks this works but having started coding in the 90s I feel that with Perl you had to try to understand the quirks of language and the language didn't try to reach out to programmers to make things easy. Whereas other coding languages aim to be intuitive, with clearer syntax, more logical naming and frameworks to obscure complexity, which to my mind is a better way to bridge the gap between us and "the machines".

finaard07/31/2025

> If I had to choose a language that is furthest from Perl, it might be Lisp.

The two languages I enjoy the most are Perl and Lisp - and the majority of my non-work related coding is split between those two.

show 2 replies
drewcoo07/31/2025

The three virtues of a Perl programmer are impatience, hubris, and laziness.

There's no humility in the list.

show 1 reply
kwoff07/31/2025

It's kinda ironic, since one of the three "virtues" of a Perl programmer is hubris, heh.

(re nobody codes in Perl: I still do professionally, and I'll probably never understand why it draws so much hate)

show 2 replies
throwanem07/31/2025

I believe Perl was first called "the duct tape of the Internet" about 20 years ago.

Ever tried to deal with 20-year-old duct tape?

show 5 replies
corytheboyd07/31/2025

Mention of Perl will always reminds me of that time I put Perl in a PR at a Ruby shop. It was a beautiful, portable little piece of code that they made me take outside and shoot in the back of the head. Fair enough, but I will never get over it lol. I don’t even write Perl scripts for personal work anymore, I use python (only because uv makes it not awful), but it’s not about that!

inoffensivename08/01/2025

I was a young teen when the world wide web became a thing, my Dad to gave me a copy of the camel book. I used Perl to write everything... A message board, a stats website for a MUD I was playing on, basically anything I could think of to drop in that cgi-bin directory.

All of my code was garbage of course, but it was an incredible amount of fun, a very valuable learning experience.

I miss those days, but that probably has less to do than the programming language and more to do with the carefree days. :-)

blu3h4t08/01/2025

The first thing I think of when thinking of Perl is anything but humble, not because Perl monks aren’t humble, they certainly are, they even inspired rubys we are humble cause hi is humble I suppose :D but like I said elsewhere Perl is like nineties music its simply the best, so in my eyes Perl programmers are (unix) greybeards and the most expert you can imagine, so don’t think they could be as humble cause the level of the competency could allow quite some hubris. :D Anyway this is the analogy I see with programming languages and Linux distros, Slackware was created for lisp and its KISS principle later manifested in clojure. Early Debian was released with same Perl versions as the learning Perl book. And both have heavy emphasis on reproducibility and testing. And redhats and ibms other business is Java and redhats ceo even went to work on unity a mono fork or something. So you Perl came from Unix but it shaped Linux and by extension floss world pretty much. It’s like an elder who knows all the answers but nobody asks. Edit: ah and yes Larry was right about timtoady indeed, it can be Perl or Python or whatever :D

weare13808/01/2025

Perl is a messy, maddening programming language

Only because people kept writing horrible code and using Perl as an excuse. Perl is like C, your code is as readable and maintainable as you choose to make it. It's like that old saying about blaming your tools. Just stop writing crap code.

show 1 reply
elashri07/31/2025

I am not old enough to have learned perl but not young enough to not know some perl and its problems.

But the article or at least the title would be much more suitable if perl is replaced by "CUDA". You can't be working with that and be arrogant, because even self centric people would suffer enough pain not to change. And if perl makes you feel it is made by humans. Then "CUDA" sure would feel like something that came straight from the hell.

Note: I understand that the article is more about talking about perl and remind people that it existed and was famous language one day. But I couldn't resist the temptation of the title.

show 1 reply
paxys07/31/2025

No it's because we are getting paid too much.

show 1 reply
ProofHouse08/01/2025

Vibe coders who I love that it exists and they exist, are what annoy me most. They don’t know what they don’t know and now they think they’re Snr devs when most don’t even know what SQL means. They others saying ‘I’m a programmer’ chest out, like have some humility jeez. Plunging a toilet doesn’t make me a plumber

cafard08/01/2025

At some point around 2015, I looked around and noticed that the young (< 35) all seemed to know Python, and that only the middle-aged and older (> 45) seemed to know Perl. I decided that future work, where I had an option, would be in Python. There were a couple where I hesitated, but they are gone.

At the beginning of the transition, I had to look up Python idioms for what I knew in my fingers in Perl. Over the last couple of years, when it made sense for a one-off in Perl, I would omit semicolons, omit braces, count on significant indentation. Can I still write Perl? Yes, and not badly, but not as fluently as before about 2018.

agentultra08/01/2025

I enjoyed how witty and charming the community was back in the 90s when I was into Perl.

I had a similar path to Perl as a lot of people here. I was making games and into C when I learned about Linux from a friend. From there I heard about Perl and started using it to automate making my websites… those halcyon days before someone started calling them “web logs,” and later, “blogs,” etc.

Text munching and slinging around files was much easier in Perl than it was in C and I became a big fan.

The community was awesome. And the books were great.

I feel like Perl embodied that hipster-Socialist Bazaar style moment in programming/tech.

ddellacosta07/31/2025

I can't read this article due to the paywall, but here's my lukewarm take based on the title at least: "nobody" codes in Perl any more because the language lost a lot of mindshare in the transition from Perl 5 to Perl 6, a.k.a. Raku. And regardless it's always been a fairly idiosyncratic language in a lot of ways. Stuff like Ruby (which inherits DNA from Perl along with Lisp and Smalltalk), PHP (also takes some notes from Perl, perhaps more superficially), and Python ate a lot of its lunch.

It was the first language I wrote professionally and I always thought it was a lot of fun, but if I want to be humbled these days I reach for Haskell (like a lot of the Perl community it sounds like...).

EDIT: okay I read the article, thanks to welpo for the archive link. Yeah this is kind of a nostalgic piece so I think my original comment is still relevant. I do like Perl still, I will always have a spot in my heart for it. I appreciate especially how seriously Larry Wall tried to think about approaching things vis-a-vis linguistics even if I don't necessarily think that's the best approach for a language used by an engineering team these days.

I hope it sticks around in any case. It is truly unique.

show 3 replies
Western008/01/2025

I use perl , still is fast and very intuit for writing small code (but not for reading it after a week)

niccl07/31/2025

Hmm. and PERL is not one of the most popular languages these days. In contrast with Python and its

  There should be one-- and preferably only one --obvious way to do it.
It does not seem coincidence to me
show 5 replies
ubermonkey08/04/2025

The last time I wrote code every day as part of my job, it was in Perl as part of some site development using the Mason framework.

I am unapologetic about my love for Perl. Something I learned in that role was how much more important transparency is than cleverness. Perl has a way of enticing you to do very "clever" things -- there's more than one way to do it, as the saying goes, and some of those ways are VERY NEAT! Unfortunately, a large number of the "neat" approaches also approach brainfuck-levels of oddness.

Most languages don't have that rabbithole, or at least the hole isn't that deep. But with perl, man, you can do some ridiculous and awesome things that even YOU won't immediately understand six months from now.

About the 2nd or 3rd time you get bit by that particular snake, though, you start to build your code much more conservatively, and with much more of a long-term intentionality built in. The code I wrote in that job after those lessons took root is still probably the best work I've done as a programmer -- neat, clean, consistent, and above-all understandable to whomever ended up needing to work on it later. And I put a lot of that down to just how easy it is to write HORRIBLE Perl.

boothby08/01/2025

Kids these days aren't learning Malbolge as their first language and it really shows.

I loved Basic, then VisualBasic, then C, and then Perl... and after Perl, I've never really found it challenging to learn a new language. After almost a year of working on some cgi script (gossamer threads, I think?) I had this alarming realization that I did not understand the context of a block of code I seemed to spend most of my time editing. It was a multi-page regular expression. I was (and am still) pretty naive to how the language is implemented or even parsed, and I find it most interesting how we can write in languages with the barest understanding of their underlying details. I'm at that point with a lisp, occasionally catching glimpses below the surface, but now with decades of diving deep and in other languages. Sometimes I think it might be fun to return to Perl, but when I read modern Perl, it seems to bear such little resemblance to the code of 25 years ago.

antithesizer08/01/2025

Discovering Perl made me feel like a god.

karel-3d08/01/2025

Perl sigils are horrible; perl magical variables are horrible, perl lack of sane object and argument passing is horrible. (Moose was improvement but slow, if I remember well.) It's a language of cludges on top of other cludges.

I guess it became popular because it existed and there was nothing better (nobody will write in awk if not pressed to).

We don't need badly designed tools to stay humble. There is enough cognitive load from all the bad programmers (and now LLMs spewing slop), no need to add another nonsense.

I admit though that writing perl makes you feel "clever" - "huh that's a funny shortcut I didn't know! Writing $\<>^^ will give me name of last used file on blue moon on thursday!" but... uh.

show 1 reply
Dove08/01/2025

I miss perl. I encountered it in school, in 1998, and fell head over heels in love. Used it professionally a lot longer than was probably justified, given the mores and availability of programmers. The Camel Book set my formative opinions on what software should be like, and I'll surely be a perl programmer at heart forever.

I gave it up in 2020, perceiving that python had won. It was a sad day - working in python feels like typing while missing three fingers. I go to reach for an idiom and not only is it not there, I'm told the phantom limb syndrome is for everyone's good, including mine.

I've never found the code of skilled perl programmers difficult to read. I think bad programmers will always write code that is difficult to work with, even in languages that are supposed to prevent it. The most miserable time I ever had understanding someone else's code came at the hands of a brilliant, overly clever, somewhat inexperienced python hacker. I will admit, though, that this feat of confusion required a prodigy, whereas perl makes it quite easy to shoot everyone in a thirty yard radius in the foot. Just the same, I've always thought the messiness of perl was a myth, a result of misuse, abuse, and inexperience. Well written perl conveys much at a glance where in visually cleaner languages, all shapes have the same outline.

But it's also true that by the time I gave it up, I was already looking for a replacement. The language is bold and beautiful and opinionated, and in the fullness of time, some of those opinions proved to be wrong. The world moved forward and perl didn't, and I found myself wanting to do things with objects, and types, and tooling, and functions, and exceptions, that it just didn't do, or didn't do well. Some languages, like PHP and javascript, grew beyond their humble beginnings and bolted on the rigorous and increasingly mandatory machinery of the modern world. Perl didn't.

So my leaving had two big factors: the language didn't grow up, and people didn't want to read my code.

I'm still looking for a replacement. The serious contenders seem to be Go and Ruby, both of which I really like a lot. I dabble in Haskell and Lisp looking for pieces of what I've lost. I have negotiated an uneasy ceasefire with python and javascript out of professional obligation. We can work together, though admittedly neither one of us is entirely happy about it.

Perl was a beautiful thing, a thing I appreciated like art and poetry. I'm glad to have been there for the years in which it flourished. But I also think the world has passed it by. Even looking past hacked in features, it had a more fundamental problem. The tug of war between standardization and expression is like the one between society and the individual. Neither side should ever really win, but perl favored expression more than we now think is wise. We didn't know it then. And the feeling was glorious. But in the decades since, we all - myself included - have decided the balance between those things is ... well we don't know exactly where it is, but we do know it involves less individual freedom than that. The language made a lot of gambles that turned out wrong, but that's the big one.

I think lisp fell prey to that, too, by the way. So formless and expressive that by the time you got done writing your software, you'd essentially invented a language specific to it. Great, in the narrow scope of your project, language and domain fitting hand in glove. Not awesome if you need to hire help. Ads for people who speak Emacs Lisp or Autocad Lisp are telling. You can invent the most beautiful language in the world, but the fact that only three people speak it is surely a strong point against it.

Perl is and was a beautiful thing. I miss it. I seek out its children when I can. I write jokes and references and eulogies where I can, tucking little utility functions stolen from perl into languages where they don't belong, places that never touched that unix heritage. Perl is humble enough to give you the space to do things your way, rather than its way, giving you permission to break all the rules and requesting that you use the freedom with wisdon and goodness and politeness. That sort of bold faith and generosity sparks in me a fierce love. I haven't found it anywhere else. I doubt I will, because as wonderful as it is, it's since been considered unwise. Programming is a social endeavor, and while a specialist language like GLSL can thrive in a little niche, a glue language spoken by only a few people isn't a glue language at all - it's another arcane system that needs to be glued. No, python won. Perhaps it even deserved to.

So for me, perl is dead... but also long live perl.

1817282828617707/31/2025

> If I had to choose a language that is furthest from Perl, it might be Lisp.

Rust

show 3 replies
test107207/31/2025

Paywall

show 1 reply