←back to thread

Perl's decline was cultural

(www.beatworm.co.uk)
393 points todsacerdoti | 6 comments | | HN request time: 0.245s | source | bottom
Show context
RayFrankenstein ◴[] No.46175349[source]
There was a lot of pressure in the Perl community to write things as succinctly as possible instead of as maintainably and understandably. That’s not realistic for use in a field with a lot of turnover and job hopping.
replies(2): >>46175356 #>>46175796 #
1. chrisweekly ◴[] No.46175356[source]
Yeah the joke was, Perl is write-only.
replies(1): >>46175468 #
2. superkuh ◴[] No.46175468[source]
Write-only perhaps, but with perl you only have to write it once and it'll run forever, anywhere. No breaking on updates, no containers, no special version of Perl just for $application, just the system perl.

Because of this, in practice, the amount of system administration mantainence and care needed for perl programs is far, far less than other languages like python where you actually do have to go in and re-write it all the time due to dep hell and rapid changes/improvements to the language. For corporate application use cases these re-writes are happening anyway all the time so it doesn't matter. But for system administration it's a significant difference.

replies(3): >>46175765 #>>46175976 #>>46176432 #
3. pjc50 ◴[] No.46175765[source]
There was really only one big forced rewrite, 2->3, and ironically Perl was killed by failure to do the same with 5->6.

I agree that python versioning and especially library packaging is the worst part of the language, though.

4. chrisweekly ◴[] No.46175976[source]
Agreed! My father (RIP) absolutely loved Perl and could do amazing things with it in seemingly impossibly-few characters. I got reasonably proficient w/ regex but never came close to his wizardry. Much respect for those in his rarified company.
5. JackSlateur ◴[] No.46176432[source]
Aren't perl modules locked to the exact version they were compiled in ?

I've met many time some error "haha nope, wrong version, perl 5.31.7 required"

replies(1): >>46181120 #
6. WesolyKubeczek ◴[] No.46181120{3}[source]
Pure perl modules are not, unless they use syntactic features that first appear in the newer versions.

Modules with C extensions have to be recompiled with libperl they run against, as much as CPython extensions link to a particular libpython, and guess Ruby is the same. But they, with very few exceptions, will recompile and run fine. XS is cryptic but its backwards compatibility story is good.