Perl 5.32 Released
metacpan.org
metacpan.org
https://metacpan.org/pod/distribution/perl/pod/perldelta.pod...
No more use Safe::Isa and ugly $isa or eval boilerplate.
I use to like it very much in the late 90's when I was actively doing IT but when I stopped I never felt like going back (having discovered python)
Modern Perl using Moose is pretty nice to develop in. I find it much easier to express things in Perl than in Go, but I am not an expert in either language despite having several years practice with the former and a couple of years with the latter.
http://modernperlbooks.com/books/modern_perl_2016/
I'd say the biggest issue with Perl is that modules on the CPAN are slowly going stale, and that my understanding is that there is a lot of Perl (C) and XS (C FFI) code that is not actively maintained or necessarily properly developed (including, I believe, parts of the Perl runtime itself). This can lead to segfaults with who knows what behavior.
Take this with a grain of salt: I've never been a good C programmer.
An aside: one of my coworkers is a founder of MetaCPAN, which is a great site.
Next week we have the yearly Perl conference, due to corona "in the cloud": https://perlconference.us/tpc-2020-cloud/
So many better languages with better mental models. And I say this with a decade of Perl experience.
Don't suffer from the blub paradox.
I am not a pro developer, just an amateur one who was surprised to see a mention of an old love.
For instance, I've heard PHP get shit on pretty badly all around the web, but I've worked at PHP shops that had nice, clean codebases, and my current Perl codebase is, in many ways, nicely structured. That's not to say there aren't some hairy codepaths that could use refactoring, but I really think that kind of thing, again, can happen in almost any language.
And yes, it is still used for new projects, and no it is not necessary to sacrifice your mental health nor your earning potential to use it.
It is not, nor will it ever be the darling of the startup world. But most of the software development in the world is not done at startups.
I'm not saying you'll get rich writing Perl, nor am I saying that it is growing in "market share" if you want to call it that. In fact, considerably less people use it now than did in the past.
However, you can still make a decent living writing Perl in 2020.
Of course, my advice would be to learn multiple languages, and most importantly, never stop being willing to learn new things, if you want to be a developer your entire career.
I also think it's important to be willing to occasionally learn old things. You never know when you might be called on to make changes (sometimes extensive ones) to a legacy system, and "rewriting it in language 'X'" is often not an option.
[edited for typo]
Can you expand on what you mean by this?
IF you deliberately ignore some of the crufty parts of the language (ie you follow "Modern Perl") it's... ok. Perfectly possible to write good code with it if you understand the quirks, but you have to be strict to avoid the stereotypical "line noise", and not everyone is. Some parts are legitimately awesome though: Moose, for example, is a fantastic OO model that I wish was usable in other languages (although you do pay for it with long load times).
However, the ecosystem and community have been struggling to keep up with the rest of the world for a while now, and where you used to be able to assume that CPAN would yield something useful for most tasks, that's becoming increasingly untrue, and a lot of projects are now abandoned.
I still reach for it for small things, but I wouldn't start a large project with Perl now, I don't think.
I’ve just wrapped up a greenfield project for a major telecom equipment provider.
One of the reasons I have never gone back to Perl after moving to Python in the early 2000s is that the packaging system was horrific. Even Python's weird mix of system packaging and pip mostly just works, and the story has gotten a lot better with virtualenvs, pip, and such.
Meanwhile I have rarely successfully installled anything with CPAN, it always seems to fail out with some odd error in the middle of building something. Experiences like this make the activation energy required for me to do any fun side projects using Perl instead of Python.
Are my observations atypical? Is there a better way to use and install third-party Perl packages that I don't grok?
$ perlbrew install-cpanm
$ cpanm install What::Ever
This works nearly always, except when header files or C libraries are missing on the system (like you need libpq-dev on Debian/Ubuntu to install DGD::Pg, the postgresql database connector).With the system perl, local::lib also works, but it's a bit fiddly to set up initially.
Python's pip+virtualenv is often much worse, so many of the packages need `wheel` but don't depend on it and failed builds are treated as successful, so it's not as smooth as could be, but much is improved since Python 3.5+.