[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)