4 ms·
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".
by jmclnx 1y ago
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".
- sciolizer 1y ago`man perl` and `man perlintro` are the easiest way to get started. Not sure about Raku.
- reddit_clone 1y agoIf 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.
- davidschultz 1y agoThe book by Moritz Lenz is quite good. https://link.springer.com/book/10.1007/978-1-4842-6109-5 https://link.springer.com/book/10.1007/978-1-4842-6109-5 There's also this polished three-hour introductory lecture: https://www.youtube.com/watch?v=eb-j1rxs7sc https://www.youtube.com/watch?v=eb-j1rxs7sc Combine that with reading up on details in the reference and you're in for a decent start. https://docs.raku.org/reference https://docs.raku.org/reference
- bastardoperator 1y agoStarted 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...
- athenot 1y agoSame 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.
- samoit 1y agoI 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
- rurban 1y agoWhich is even harder to read
- kstrauser 1y agoFor 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: >>> a = ["foo", 123, {"bar": [(1,2,3), {"qux": "quux"}]}] >>> a[2]["bar"][1]["spam"] = "eggs" >>> import json >>> json.dumps(a) 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.
- hackthemack 1y agoProgramming is such a strange field with so many people with different mental models. I am no fan of Perl, but I think having a function pass arguments as copies (and then also having semantics to work on the original by reference if you want to) is very handy. Passing copies reduces side effects.
- 8s2ngy 1y agoKinda 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. :)
- reddit_clone 1y agoRaku 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.
- 7thaccount 1y agoNot 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.
- reddit_clone 1y agoEarly on, there was some attempt at syntactic macros. I tried it. But it didn't work out. I hear there are efforts for another iteration. That would be just fantastic when it lands.
- Razengan 1y agoI still got "Learn 6502 Assembly for the Commodore 64" on my backlog. That said, how does DuckDuckGo get that money?
- 7thaccount 1y agoMe 2! Been in my closet for years. It was a gag gift.
- pfexec 1y agoI love that many of the scripts in the OpenBSD base system are written in Perl.
- deleted 1y ago[deleted]
- neuroelectron 1y agoIf 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.