Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: p5p vs CPAN
by Corion (Patriarch) on Oct 17, 2019 at 08:07 UTC | |
The slow painful drip of backward incompatible changes only affects you if you upgrade. And I would say that the minor (but breaking) changes are mostly minor changes, but we feel them as nasty because we (as a part of the community) have the expectation that our scripts from back then (be it Perl 4, or Perl 5.005_03 or Perl 5.12) still work unchanged. I also don't see it as "p5p vs CPAN", because I would say that all participants on perl5-porters deeply care about keeping (modules on) CPAN working well and work with module authors to keep the breakage introduced through changes low. Bugward compatibility takes a backseat to correctness for example. But looking at it from a different perspective, it is great how much of it still works after 20 years of changes. So it's not all doom and gloom in my opinion. There are many ways to publish your patches instead of keeping them locally. In ascending order of utility (but also, descending order of ease, unfortunately): Update: Fixed description of how the list was sorted. | [reply] |
by tobyink (Canon) on Oct 17, 2019 at 12:02 UTC | |
I agree; they're pretty rigorous at investigating how changes affect CPAN modules. That doesn't mean they won't make the changes anyway, if they're overall beneficial, but they seem to avoid module breakage pretty well. An optimization for how constants were put into the stash in one of the 5.27.x broke the Type::Tiny test suite (and also Role::Tiny and Variable::Magic, I believe). They backed it out and worked with module authors, providing patches and additional test cases, before rolling it back into the 5.27.x code ahead of the stable 5.28.0 release. | [reply] |
by Anonymous Monk on Oct 17, 2019 at 12:40 UTC | |
This is the problem. The perfect (p5p) is the enemy of the good (CPAN). How can it be acceptable that "fixing" Perl is "breaking" CPAN? I noticed the breaking changes tend to reduce the DWIM nature of perl in favor of some abstract notion of what is correct, like for example, my $foo qw(bar baz) makes perfect sense and was valid perl until some programming justice warriors decided that breaking backcompat was less important than their idea of programming correctness. The result is broken scientific distros sitting on CPAN forever because, for example, we now have to --force install and add 2 characters to 1 module to fix 3 modules. Someone who is more of a scientist than a perl programmer will shrug their shoulders and move on to a programming language with working libraries. It's a dire situation! Thank you Corion and daxim for your thoughtful replies and valuable information (but that anonymous reply, get an account! =) | [reply] |
by hippo (Archbishop) on Oct 17, 2019 at 13:15 UTC | |
like for example, my $foo qw(bar baz) makes perfect sense and was valid perl until I'm afraid to say that it doesn't make perfect sense to me. What would you expect it to mean? It's also not valid perl, even on the oldest one I could find:
The result is broken scientific distros sitting on CPAN forever because, for example, we now have to --force install and add 2 characters to 1 module to fix 3 modules. I am no advocate for breaking backwards compatibility but a seemingly trivial change to a module which moves it from unusable to working on modern perls is something any module maintainer should be doing. Just not necessarily in the next half hour. If there's no repsonse to such tickets in a reasonable time-frame (give them a few weeks at least) then it's probably abandoned and a good candidate for a take-over. | [reply] [d/l] |
by pryrt (Abbot) on Oct 17, 2019 at 13:40 UTC | |
by Anonymous Monk on Oct 18, 2019 at 04:17 UTC | |
by Corion (Patriarch) on Oct 17, 2019 at 12:50 UTC | |
In that case, it was always a bug, it just wasn't reported by Perl as such. If you want more "influence", consider becoming a part of p5p. It's as easy as reading the mailing list and/or writing a mail to it: Please note that these are all volunteers, so taking a belligerent stance may not get your case heard in the way you want. But if you are interested in actually fixing the problems, I'm sure you will be welcome there. | [reply] |
by Anonymous Monk on Oct 17, 2019 at 13:06 UTC | |
by Anonymous Monk on Oct 17, 2019 at 14:00 UTC | |
by Corion (Patriarch) on Oct 17, 2019 at 14:17 UTC | |
by swl (Prior) on Oct 17, 2019 at 20:47 UTC | |
Could you list some of the broken distros? There might be simple fixes that others could implement. | [reply] |
|
Re: p5p vs CPAN
by daxim (Curate) on Oct 17, 2019 at 07:45 UTC | |
CPAN modules that get brokenSome ideas (require further effort): by visiting CPAN and clicking Testers on broken modules but wonder if someone has scraped thatYou can get direct access to the database if you ask, no need for scraping. Try cpan-workers. I'm fixing broken orphaned modules locally with no way help fix the official and CPAN is in an advanced state of decay.That's quite selfish, it would be better when everyone benefits from the fix, not just you. You can report the bugs and attach your patch and publish distroprefs into your PAUSE directory. You can email module-authors with your plea for help, often shlomif is glad to comaint modules where the original author is not responsive. Imagine how fast the 1/2 of CPAN that is probably broken would be fixed!I think you're overestimating the effect; if a piece of software wasn't urgent to fix without such a list, it won't be any more urgent with one. | [reply] |
|
Re: p5p vs CPAN : Is there a list of modules broken by backward incompatible changes?
by Anonymous Monk on Oct 17, 2019 at 07:40 UTC | |
Re: p5p vs CPAN : Is there a list of modules broken by backward incompatible changes? Hi, What did the perl5-porters have to say bout this? Did you use the same charm when you asked them? On second thought, reap the OP for floating | [reply] |