I began in the 8-bit age, with BASIC and eventually a small collection of languages under CP/M (not much call for BCPL these days). I met Ada and of course "new" ANSI C at Uni, but I wrote most production code in Perl than anything else. Probably because we built an ISP out of it in the 90s. After many years more or less away from any serious hands-on coding I've now returned with the help of Claude... to Perl. Mostly for personal projects and research. Glad to see some noteworthy public donations.
Just want to point out that Perl is looking for multiple sponsors who will do smaller donations, so that nobody just cancels a much larger donation that is vital to the project.
People are still using Perl for large project in 2025?
Look, I don't hate Perl. It was my first real language beyond basic that I used for a long long time. But Perl's popularity peaked in the late 90s? Early 2000s? The failed Perl 6 adventure was about the time that people started fleeing elsewhere, like PHP.
Personally I don't use it, but I admire Perl from a distance. I know Craigslist and Ebay use it? I'm not sure if its used as much for systems stuff as it used to be.
Maybe Perl 6 was not even really needed and Perl is perfect ;)
Started with Perl, always loved it, never understood the hate. I feel like after Perl you can write in any language. I'll never forget writing Python the first time and searching for a Data::Dumper alternative...
For me personally, the biggest pain points that drove me to Python were:
1. Sigils, and relatedly, contexts. In my opinion, `my $length = @list;` is a horrid way to spell `length = len(list)`. It feels too much like typecasting magic.
2. Having to opt in to pass by reference caused so much pain. You're happily passing a hash around, but then you want to do something to it, so now you have to change the type signature of the function, then everything that calls it, etc. etc.
Contrast with Python, where everything is pass-by-object-reference and sigils aren't needed because contexts in the Perl sense don't exist. This worked on my first try:
I liked Perl. I wrote a lot of Perl. And yet, I still had to pull out The Book whenever I wanted to do anything more complex than passing a couple of ints or strings around. This stuff is knowable, obviously, but I just got tired of having to know it.
Same here. Perhaps what I've enjoyed the most about Perl was the humanness and art of it. Cleverness and expressiveness were at the service of elegance.
Sure you can write amazingly obscure foot-guns in Perl but that's also true of any other language. But honestly I'd rather a few lines of obscure Perl code WITH a comment block explaining why, than a dozen classes with bits and pieces of business logic spread all over the place.
I think that "hate" comes from the "write once" language fact. Perl is quite cryptic to read... even if it is your own script. That's why raku appeared
If you already know Perl, Raku is easy to pick up. Especially for basic text munging tasks. The RegEx stuff has changed though. Takes some getting used to.
Some of the warts are gone (like a list element needs to have a scalar context, the stuff that scares away beginners).
It is a _large_ language with paradigms and constructs that are from everywhere (ML, Haskell, Lisp, C, Perl you name it).
Powerful operators. Actually too powerful. Easy to write elegant line-noise kind of code.
Easy to use built in concurrency. (There isn't much that is not built in :-) )
Nice language for Sys/Ops scripting if you find Bash too dangerous and Python too tedious.
If you don't have a reason to use it then I don't know why you would but I think it's the best tool if you're using Linux. It's certainly better than using shell commands and managing various syntaxes between shells and command lines.
Not just too much stuff IMO. I kind of like all the features.
The main problem in my eyes is not enough volunteers (although they are doing a superhuman effort) to get it into the production level it needs to get more widespread adoption. The other problem is that Python already has a huge amount of libraries and is considered to be "good enough" feature wise, so it's hard to attract interest.
I do enjoy reading Raku code and think it is super neat as this do it all post-modern language. Inertia is hard to overcome though.
FYI if you're curious, our full list of 2025 donations are here, $1.1M to 29 orgs: https://spreadprivacy.com/2025-duckduckgo-charitable-donatio.... Historical donations (going back to 2011) are here: https://duckduckgo.com/donations
I began in the 8-bit age, with BASIC and eventually a small collection of languages under CP/M (not much call for BCPL these days). I met Ada and of course "new" ANSI C at Uni, but I wrote most production code in Perl than anything else. Probably because we built an ISP out of it in the 90s. After many years more or less away from any serious hands-on coding I've now returned with the help of Claude... to Perl. Mostly for personal projects and research. Glad to see some noteworthy public donations.
$25k for supporting Perl and getting some sweet PR, not bad.
Just want to point out that Perl is looking for multiple sponsors who will do smaller donations, so that nobody just cancels a much larger donation that is vital to the project.
See the comment from Olaf Alders here:
https://news.ycombinator.com/item?id=44827076
Thank you for sharing this. I am always looking for more sponsors. I'm also happy just to make new connections.
People are still using Perl for large project in 2025?
Look, I don't hate Perl. It was my first real language beyond basic that I used for a long long time. But Perl's popularity peaked in the late 90s? Early 2000s? The failed Perl 6 adventure was about the time that people started fleeing elsewhere, like PHP.
Personally I don't use it, but I admire Perl from a distance. I know Craigslist and Ebay use it? I'm not sure if its used as much for systems stuff as it used to be.
Maybe Perl 6 was not even really needed and Perl is perfect ;)
Perl can be a huge hassle because of lib versioning. Killed off my project at Amazon with internal monitoring. Python has the same problem...
Good for them.
These types of donations to open source initiatives should be publicized and encouraged to have brands see it as a worthy way of gaining supporters.
Very nice, I should get off my butt and learn Perl. That is part of a multiple decade procrastination process :)
I got close 20 years ago, but "things".
Started with Perl, always loved it, never understood the hate. I feel like after Perl you can write in any language. I'll never forget writing Python the first time and searching for a Data::Dumper alternative...
For me personally, the biggest pain points that drove me to Python were:
1. Sigils, and relatedly, contexts. In my opinion, `my $length = @list;` is a horrid way to spell `length = len(list)`. It feels too much like typecasting magic.
2. Having to opt in to pass by reference caused so much pain. You're happily passing a hash around, but then you want to do something to it, so now you have to change the type signature of the function, then everything that calls it, etc. etc.
Contrast with Python, where everything is pass-by-object-reference and sigils aren't needed because contexts in the Perl sense don't exist. This worked on my first try:
I liked Perl. I wrote a lot of Perl. And yet, I still had to pull out The Book whenever I wanted to do anything more complex than passing a couple of ints or strings around. This stuff is knowable, obviously, but I just got tired of having to know it.Same here. Perhaps what I've enjoyed the most about Perl was the humanness and art of it. Cleverness and expressiveness were at the service of elegance.
Sure you can write amazingly obscure foot-guns in Perl but that's also true of any other language. But honestly I'd rather a few lines of obscure Perl code WITH a comment block explaining why, than a dozen classes with bits and pieces of business logic spread all over the place.
I think that "hate" comes from the "write once" language fact. Perl is quite cryptic to read... even if it is your own script. That's why raku appeared
I love that many of the scripts in the OpenBSD base system are written in Perl.
`man perl` and `man perlintro` are the easiest way to get started. Not sure about Raku.
If you already know Perl, Raku is easy to pick up. Especially for basic text munging tasks. The RegEx stuff has changed though. Takes some getting used to.
Some of the warts are gone (like a list element needs to have a scalar context, the stuff that scares away beginners).
It is a _large_ language with paradigms and constructs that are from everywhere (ML, Haskell, Lisp, C, Perl you name it).
Powerful operators. Actually too powerful. Easy to write elegant line-noise kind of code.
Easy to use built in concurrency. (There isn't much that is not built in :-) )
Nice language for Sys/Ops scripting if you find Bash too dangerous and Python too tedious.
If you don't have a reason to use it then I don't know why you would but I think it's the best tool if you're using Linux. It's certainly better than using shell commands and managing various syntaxes between shells and command lines.
I still got "Learn 6502 Assembly for the Commodore 64" on my backlog.
That said, how does DuckDuckGo get that money?
Me 2! Been in my closet for years. It was a gag gift.
Kinda similar—Raku is on my radar. I won't have time to take a look at it this year. Maybe it can become my next year's resolution. :)
Raku is amazing. It is great for writing System/Ops scripts with easy built in concurrency!
Its only fault is, it has too much stuff in it.
Not just too much stuff IMO. I kind of like all the features.
The main problem in my eyes is not enough volunteers (although they are doing a superhuman effort) to get it into the production level it needs to get more widespread adoption. The other problem is that Python already has a huge amount of libraries and is considered to be "good enough" feature wise, so it's hard to attract interest.
I do enjoy reading Raku code and think it is super neat as this do it all post-modern language. Inertia is hard to overcome though.