3 ms·
Both scripts and perl itself are being maintained. It's definitely not dead and pretty unlikely to die any time soon.
by swiley 5y ago
Both scripts and perl itself are being maintained. It's definitely not dead and pretty unlikely to die any time soon.
- dale_glass 5y agoThe big issue is with CPAN. An increasing risk of using Perl is that your dependencies may be rotting without you noticing it. And this may happen in multiple ways: * Modules that use some arcane syntax that's being deprecated. * Modules that link against libraries that are still being developed * Web APIs that are still evolving. Perl's great strength has always been CPAN, and with its decreasing popularity that's now becoming a weakness. For instance, Amazon::S3 was last released in 2009. AWS::S3 was last released in 2019. Net::Amazon::S3 seems alive and well, but the "++ed by 6 PAUSE users" isn't very comforting. I'm personally increasingly switching away from Perl, because I've been noticing the concerning amount of familiar modules whose last release was several years ago, which has bugs that went completely unacknowledged on the bug tracker for years, and the realization that there are big, complex modules that may be depending on some random person in Nebraska. This is of course not a new issue, but it's particularly acute when an ecosystem is no longer "sexy" and people start moving on to greener pastures.
- swiley 5y agoAbsolutely but that's a serious problem with any language that does automatic dependency handling this way. I would argue that the problem you see isn't so much with perl (although it's definitely less popular) but with the exponential dependency explosion with little verification that results from these sorts of systems.
- dale_glass 5y agoIt's a problem regardless of dependency handling though. At some point, something in the S3 API is going to change. Crypto modules are going to add some algorithms and deprecate others. Some big system library is going to release version 2.0. Ubuntu is going to stop the last LTS release where everything worked. At my workplace we used to make very heavy use of Perl, and now that's gradually going away, because there's a fair amount of pretty big stuff that's either unmaintained, or at the very least concerning. The Wx module for instance has always been a bit of a pain in my experience and I don't know how much life it's got left. But I'm certainly not going to volunteer to maintain it if it ever breaks.
- zenron 5y agoIn today's topography, these dependencies drive the use case more times than not. Something like 'As a clerical manager I want IT to take an old nightly file (proprietary fmt) and transform it to CSV and put it onto our S3 drive so that we can get the data into our EDW staging area.' If Perl can only get the transformation piece where another language gets you to the last part then there is less reason to use Perl at all. That was Perl's bread and butter. It was the king of data transformation. It was even used (is used) to prototype data conversion from COBOL to xml. I've even seen it parsing COBOL code for keyword highlighting and hosting a website to view the results. I could easily write that in SCALA today in a one stop shop, arguably faster. Perl isn't dead but its not exactly alive. And let's face it, it isn't really being taught in schools anymore. It and PHP were when I was in college. Can any language fall to this fate? Sure, but if you stick with Java/Scala/Kotlin, Javascript/Typescript/Node and .Net/C#/F# you are pretty safe for a decade or two. Perl is just the weeds in the garden at this point.
- bombcar 5y agoThis is a very good point - many perl scripts are simple text-processing programs that don't depend on much from CPAN - but others are large projects that pull in multiple dependencies, and as those begin to break so do the programs. And now you have a situation where you may be stuck - unable to update your program even if you want to until all dependencies are updated.
- xeeeeeeeeeeenu 5y ago>For instance, Amazon::S3 was last released in 2009. AWS::S3 was last released in 2019. Net::Amazon::S3 seems alive and well, but the "++ed by 6 PAUSE users" isn't very comforting. Paws is actively developed too: https://metacpan.org/pod/Paws https://metacpan.org/pod/Paws