5 ms·
Perl _has_ died gracefully.
by mrRandomGuy 5y ago
Perl _has_ died gracefully.
- ivanhoe 5y agoHell, not even Fortran and Cobol are really dead, and Perl is way more popular still. You still have millions of perl scripts running daily, many of them doing some really critical stuff. It's not mainstream language anymore as it used to be once upon the time, but falling from spotlights isn't the same as dying (which Cobol demonstrates successfully again and again every few decades).
- bombcar 5y agoThe key is it's being used but the scripts are more and more not maintained - and if you want users to not stay on outdated versions you have to consider that. Many security patches will be avoided if upgrading breaks stuff. Like Raymond Chen says - if upgrading Windows breaks your software, you will blame Microsoft even if the software is where the error is.
- swiley 5y agoBoth 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.
- 5y ago
- acdha 5y ago> Hell, not even Fortran and Cobol are really dead, and Perl is way more popular still. I'm sympathetic to Perl, having gotten a huge amount of value from it over the years, but I'd bet that at its peak it was less than 10% of the number of lines of code written in COBOL since the latter had close to half a century head start and the fields where it was used made it a key component of the global financial network. That's generally harder to replace than the average Perl code and since there was a direct value visible from it companies also were less hesitant to hire people to throw bodies at maintenance.
- canadianfella 5y ago> in COBOL since the latter had close to half a century head start 28 years
- ajuc 5y ago> not even Fortran and Cobol are really dead, and Perl is way more popular still That probably depends on your bubble, but I've interacted with more code in Fortran and Cobol than in Perl. And Fortran and Cobol were "almost dead" long before I started my first job.
- ivanhoe 5y agoExactly my point, Cobol was considered "old" even in times before Perl became popular. I remember when I was doing C in early 90s, Cobol was something "only old guys use". And nevertheless it's still alive and kicking in its niches today. So is Perl, just in different places.
- bombcar 5y agoI feel Cobol was more used in "main business critical applications" and perl was found much more in "wedge this here to keep the first working" but I don't have much to back that up beyond anecdotal evidence.
- ajuc 5y ago> So is Perl, just in different places. Dunno, I think glue languages like perl are inherently easier to replace than platform languages. And perl was only best at being a glue language for a very short period in 90s.
- rob74 5y agoOk, then it hasn't died gracefully, but sound like it's on its way to join these other "undead languages" where almost no new code is being developed and it's getting harder and harder to find competent developers?
- rurban 5y agoAll the competent developers were driven away by its maintainers. Who themselves have no idea how to implement the spec'd features missing. So, yes. It's dead. There's a lot of insignificant noise about perl 7, drama and the new object system, but if you look at the heads and devs it's getting worse and worse.
- noisy_boy 5y agoAs someone who has written a fair bit of Perl, lots of us have moved to other languages like Java/Scala/Python etc. I could still write Perl if I needed to but having dealt with maintaining a "large" system written in Perl and having used aforementioned "proper" object oriented languages since then, I would restrict using Perl to simple/small scripts, given that I had no other choice.
- clipradiowallet 5y agoI still create scripts that include bits like `perl -pe 's/foo/bar/g'` Is there anything else present on most machines that offers as much regex-fu as perl?
- dredmorbius 5y agoFor examples such as that, sed and awk will do you fine for POSIX / GNU regex. For perlre, probably not.
- teddyh 5y agoTo quote Eric Raymond: “Perl still has its uses. For tiny projects (100 lines or fewer) that involve a lot of text pattern matching, I am still more likely to tinker up a Perl-regexp-based solution […] Actually, these are much like the things Perl did in its original role as a sort of combination awk/sed/grep/sh, before it had functions and direct access to the operating system API.” — https://www.linuxjournal.com/article/3882 https://www.linuxjournal.com/article/3882 Personally, I write these kind of things in actual awk, sed, and shell script. If these are not sufficient, I skip Perl altogether and go directly to some modern higher-level language.
- deleted 5y ago[deleted]
- deleted 5y ago[deleted]
- hedora 5y agoI’m pretty sure autovivification will keep it humming along indefinitely.
- drewcoo 5y agoWas it graceful? TMTOWDI, after all.