[HN Gopher] Programmers aren't so humble anymore, maybe because ...
       ___________________________________________________________________
        
       Programmers aren't so humble anymore, maybe because nobody codes in
       Perl
        
       Author : Timothee
       Score  : 47 points
       Date   : 2025-07-29 17:51 UTC (2 days ago)
        
 (HTM) web link (www.wired.com)
 (TXT) w3m dump (www.wired.com)
        
       | test1072 wrote:
       | Paywall
        
         | devonnull wrote:
         | Not no more: https://archive.is/ddaZh
        
       | niccl wrote:
       | 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
        
         | SoftTalker wrote:
         | Yeah I think TIMTOWTDI ended up being a net negative. Of course
         | with experience and learning the idioms (perl is _very_
         | idiomatic) it 's not so bad but it really adds to the cognitive
         | load for a beginner.
         | 
         | There is still a lot of perl around but I'd be a little
         | surprised if any new projects would use it at least where it
         | doesn't already have a big presence.
        
           | rossant wrote:
           | In case anyone asks: there is more than one way to do it.
        
         | aynyc wrote:
         | There is almost nothing in today's Python world that follow
         | that axiom.
         | 
         | There is a new package manager every year. Language features
         | are introduced every major release.
        
           | fch42 wrote:
           | But there are 500 linters to help you with idio(to)matic
           | python coding. Honi soit qui mal y pense ...
        
         | Natsu wrote:
         | There are still a few of us Perl programmers around, though
         | it's far less popular than it was a few decades ago.
        
         | drewcoo wrote:
         | Perl is not an acronym.
        
           | _kst_ wrote:
           | Not officially, but there are a couple of retronyms.
           | 
           | Larry Wall originally wanted to call it "Pearl", but found
           | there was already a language by that name, so he shortened it
           | to "Perl".
           | 
           | The name is sometimes expanded as "Practical Extraction and
           | Report Language", or as "Pathologically Eclectic Rubbish
           | Lister" (Larry Wall's own phrase, mentioned in the Perl man
           | page).
           | 
           | But yes, "Perl", not "PERL", is the correct name for the
           | language.
           | 
           | (Ada, which was named after a person, has had the same
           | problem, though as far as I know there isn't even a retronym
           | for Ada.)
        
       | ddellacosta wrote:
       | 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.
        
         | stouset wrote:
         | I agree it was a combination of Raku and Ruby. As far as I'm
         | concerned, Ruby deprecates Perl 5. It fills the same niche
         | while avoiding a lot of the absolutely crazier parts of Perl
         | (no shade; Perl was designed in a far different time and
         | place). If you know Ruby, there is essentially zero reason to
         | learn Perl. I have fond memories of the language, it was the
         | first one I wrote professionally, but never again.
         | 
         | Raku being in such an indeterminate state for so long was an
         | eternity for it to lose mindshare to Ruby.
        
           | ddellacosta wrote:
           | > If you know Ruby, there is essentially zero reason to learn
           | Perl.
           | 
           | I don't think I ever thought about it but I think I have
           | implicitly taken this to heart since I last was using Perl
           | seriously. Almost every engineering org I've worked for in
           | the last decade has had Ruby as a part of its stack for e.g.
           | scripting or lambdas and it's what I reach for when I need to
           | script something. And I've done Rails work in a few orgs too,
           | which has few parallels in its niche even without considering
           | Perl.
           | 
           | Although I suspect for most people Python is where they land
           | if we're just talking about scripting or hacking something
           | together...or anything (I hate it but it is what it is lol).
        
           | citrin_ru wrote:
           | > If you know Ruby, there is essentially zero reason to learn
           | Perl
           | 
           | When I still used Perl (10y ago) Ruby was notably slower on
           | many tasks. Ruby probably the slowest among popular script
           | languages.
        
         | calmbonsai wrote:
         | I used Perl extensively for small-network (~25 boxen) sysadmin
         | and local/personal tooling, but never in cluster/multi-node
         | deployed production. It gave too much freedom for expression
         | making it difficult to "team-scale".
         | 
         | I stopped using it circa 2000 for no real reason other than
         | Python was easier for teams to adopt and common modules became
         | well-maintained enough where CPAN was no longer a competitive
         | advantage. It also helped that Guido lived and worked a few
         | minutes north in Reston, VA back then.
         | 
         | That said, I still "think" in Perl regex to this very day. ;)
        
           | ddellacosta wrote:
           | > That said, I still "think" in Perl regex to this very day.
           | ;)
           | 
           | Yeah good point, if there's one thing from Perl that will
           | live far longer than the language itself it's PCREs. I can't
           | thank my experience with the language enough for my facility
           | in crafting regexps.
        
         | graemep wrote:
         | Like many paywalls it goes away if you turn off JS.
        
       | welpo wrote:
       | https://archive.is/ddaZh
        
       | finaard wrote:
       | > 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.
        
         | ddellacosta wrote:
         | Given that Matz considers both Perl and Lisp an influence,
         | what's your take on Ruby? If homoiconicity is something you
         | care about it's probably dissatisfying, but it's got a lot of
         | very functional aspects at the same time.
        
           | lambdaba wrote:
           | "Ruby is the love child of Lisp and Smalltalk, raised by Perl
           | the eccentric nanny" - Josh Susser
        
       | altacc wrote:
       | > 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".
        
       | paxys wrote:
       | No it's because we are getting paid too much.
        
         | slt2021 wrote:
         | this one, once money trickled in, tech attracted people who are
         | doing it for the money only, not for the love of tech.
         | 
         | big tech sort of replaced wall street as main career choice for
         | some people and naturally attracted "wallstreet bros" type into
         | the tech, who are now known as "tech bros"
        
       | alexpotato wrote:
       | 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
        
         | j45 wrote:
         | Articles that poopoo on one language kind of have a dated
         | all/nothing perspective.
         | 
         | Most languages have a decent enough framework or two that the
         | differences between using them for different use cases may be
         | closer than many folks realize vs whatever we hear about as the
         | new hotness through the grapevine.
         | 
         | A mess can be made in a lot of languages, and a long time ago,
         | it was even easier, except some of that code worked and it
         | didn't get touched for a long time.
        
         | shermantanktop wrote:
         | > no standard way of setting up an environment for MANY years
         | hurt
         | 
         | Serious question: is that solved? I still see a forest of
         | options, some of which depend on each other, and at last count
         | my laptop has 38 python binaries. What's the standard way?
        
           | makeworld wrote:
           | uv.
           | 
           | https://docs.astral.sh/uv/
        
             | hsbauauvhabzb wrote:
             | It's hard to call that standard, it's just the latest hn
             | rust craze idolisation.
        
               | sgarland wrote:
               | Sure, but it's demonstrably better than Poetry, which was
               | the best until uv.
               | 
               | If uv isn't a standard, it's because not enough people
               | have tried it. It is obscenely good at its job.
        
               | cozzyd wrote:
               | standard
               | 
               | You keep using that word, I don't think it means what you
               | think it means.
        
             | rossant wrote:
             | Yes. Try uv and never look back.
        
           | mindcrime wrote:
           | There's no "de jure" standard, but uv sure looks like it's on
           | its way to becoming the "de facto" standard.
        
       | throwanem wrote:
       | 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?
        
         | andrewstuart wrote:
         | Perl was later called "executable line noise".
        
           | alexpotato wrote:
           | "Perl is a write only language"
        
         | speed_spread wrote:
         | Add more duct tape.
        
       | 18172828286177 wrote:
       | > If I had to choose a language that is furthest from Perl, it
       | might be Lisp.
       | 
       | Rust
        
       | cozzyd wrote:
       | 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...)
        
       | elashri wrote:
       | 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.
        
         | shermantanktop wrote:
         | Interesting - one of the most single-mindedly arrogant
         | engineers I ever worked with was an absolute zealot about CUDA.
         | 
         | Could not stop talking about CUDA, and why everything else was
         | terrible, and how nobody listened to him, and how that was
         | because they couldn't handle the truth, and how he could solve
         | everyone's problems if they would only let him, on and on. He
         | didn't last that long at my company.
         | 
         | Maybe he was taking his CUDA pain and pushing it onto other
         | people.
        
       | drewcoo wrote:
       | The three virtues of a Perl programmer are impatience, hubris,
       | and laziness.
       | 
       | There's no humility in the list.
        
       | kwoff wrote:
       | 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)
        
       | KaiserPro wrote:
       | 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."
        
       | corytheboyd wrote:
       | 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!
        
       | jbullock35 wrote:
       | 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...
        
         | jasongill wrote:
         | I just had to check if it even existed because I was _sure_
         | that I had a CGI book that focused on Perl from O 'Reilly in
         | the late 90's, and sure enough, the book I had was published in
         | 1996 (with a second edition released in 2000).
         | 
         | Not saying your anecdote is inaccurate, but my perception
         | around that time was that "Learn PHP in 24 Hours" was a lot
         | hotter than O'Reilly's Perl books - so it may have just been
         | luck, marketing, a flashier title, or even just that PHP was
         | better suited for what people wanted to learn and do.
        
         | contingencies wrote:
         | perl5 -> php3 here. I'd say PHP won for the following reasons:
         | 1. Easier to set up. 2. More homogeneous environment which
         | meant easier deployment across the hosts of the day. 3. More
         | secure (a bit). 4. Unicode actually worked. 5. Far more logical
         | syntax: did not have to _man perldsc_ [0] every time you wanted
         | a data structure of greater depth than a monodimensional hash
         | or array. 6. Language features like scalars which made
         | programming easier. 7. Often less files... it was designed to
         | be embedded inside of HTML instead of generating it.
         | 
         | [0] https://perldoc.perl.org/perldsc
        
         | munificent wrote:
         | I think Perl died from a combination of three factors:
         | 
         | 1. The rise of other web languages that did what Perl was good
         | at but better.
         | 
         | Perl was probably a fine language for sysadmins doing some text
         | munging. Then it became one of the first languages of the web
         | thanks to Apache and mod_perl, but it was arguably never great
         | at that. Once PHP, Python, Ruby, and (eventually) JavaScript
         | showed up, Perl's significant deficiencies for large
         | maintainable codebases made it very hard to compete.
         | 
         | In many cases, a new, better language can't outcompete an old
         | entrenched one. The old language has an ecosystem and users
         | really don't like rewriting programs, so that gives it a
         | significant competitive advantage.
         | 
         | But during the early rise of the web, there was so much new
         | code being written that that advantage evoporated. During the
         | dot com boom, there were thousands of startups and millions of
         | lines of brand new code being written. In that rare greenfield
         | environment, newer languages had a more even playing field.
         | 
         | 2. Perl 6 leaving its users behind.
         | 
         | As a language maintainer, I feel in my bones how intense the
         | desire is to break with the past and Do Things Right This Time.
         | And I'm maintaining a language (Dart) that is relatively new
         | and wart-free compared to Perl. So I can't entirely blame Wall
         | for treating Perl 6 as a blank check to try out every new idea
         | under the sun.
         | 
         | But the problem is that the more changes you make to the
         | language, the farther you pull away from your users and their
         | programs. If they can't stay with you, you both die. They lose
         | an active maintainer for the core tools they rely on. And you
         | lose all of their labor building and maintaining the ecosystem
         | of packages everyone relies on.
         | 
         | A racecar might go a lot faster if it jettisons all the weight
         | of its fuel tank, but it's not going to faster for long.
         | 
         | I think the Perl 6 / Raku folks go so excited to make a new
         | language that they forgot to bring their users with them. They
         | ran ahead and left them behind.
         | 
         | 3. A wildly dynamic language.
         | 
         | If you want to evolve a language and keep the ecosystem with
         | you while you do it, then all of that code needs to be
         | constantly migrated to the new language's syntax and semantics.
         | Hand-migrating is nightmarishly costly. Look at Python 3.
         | 
         | It's _much_ more tractable if you can do most of that migration
         | automatically using tools. In order to do that, the tools need
         | to be able to reason in detail about the semantics of a program
         | just using static analysis. You can 't rely on dynamic analysis
         | (i.e. running the code and seeing what it does) because it's
         | just not thorough enough to be safe to rely on for large-scale
         | changes to source code.
         | 
         | Obviously, static _types_ help a lot there. Perl 5 not only
         | doesn 't have those, but you can't even _parse_ a Perl program
         | without _running Perl code_. It is a fiendishly hard language
         | to statically analyze and understand the semantics of.
         | 
         | So even if the Perl 6 folks _wanted_ to bring the Perl 5
         | ecosystem with them, doing so would have been extremely
         | challenging.
         | 
         | I would say this is a case study in a programming language
         | tragedy, but I honestly don't even know if it's a bad thing. It
         | may be that programming languages _should_ have a life cycle
         | that ends in them eventually being replaced entirely by
         | different languages. Perhaps Perl 's time had simply come.
         | 
         | I am grateful for all of the innovative work folks have done on
         | Perl 6 and Raku. It's a cornucopia of interesting programming
         | language ideas that other languages will be nibbling on for
         | decades.
        
       ___________________________________________________________________
       (page generated 2025-07-31 23:01 UTC)