http://qs321.pair.com?node_id=1167777


in reply to Re^3: Calling splice() on Immutable Arrays
in thread Calling splice() on Immutable Arrays

I can't say I've ever accidentally modified any data structure I didn't intend to change either. There's a real dog food problem with Readonly; I don't even use it in my own code. But apparently loads of people need to remind themselves not to do the thing they don't want to do. The fact that 350+ modules depend directly on Readonly (or depend on any of the value locking modules, actually) boggles the mind.

Tirade incoming: I only took over the module because it was messing up code I was actually depending on and the original author of Readonly abandoned it a decade earlier. Days after I fixed that one issue, even though I made Readonly exponentially faster and more stable, my pride quickly faded and I started to regret it. I regularly get bug reports for code written for perl 5.6, I get people who want mutable copies of immutable structures, I get people who want automatic toggling for parts of a structure ('elements 3, 5, and 6 should be read-only...') part of the time ('...unless element 3 is true' at lease 3 people in the last few years want that? Why? What's the use case?), I get people who want me to work on making objects of any type immutable (because I can just insert that in MOP and inside-out objects, and blessed structures, etc.), I get people who want values to be deleted but not modified, and on and on... And no one likes to be told 'No.' Mostly I get rage filled messages when I mention dropping support for ancient perls in order to fix things that are otherwise unfixable or when I tell them I can't fix what they think is fixable. If you want to meet the most hateful and vile side of the Perl community or just generally bad programmers, take over a 16 year old module that has 30+ critical bugs that can't be resolved without breaking a good portion of Darkpan. *throws up hands* It's too early in the day to drink... :) Bright side? They've helped get a lot of really stupid edge cases like this one in perl itself fixed.

  • Comment on Re^4: Calling splice() on Immutable Arrays

Replies are listed 'Best First'.
Re^5: Calling splice() on Immutable Arrays
by BrowserUk (Patriarch) on Jul 14, 2016 at 18:13 UTC
    If you want to meet the most hateful and vile side of the Perl community or just generally bad programmers, take over a 16 year old module that has 30+ critical bugs that can't be resolved without breaking a good portion of Darkpan. *throws up hands*

    I feel for you; but have no suggestions.

    I railed against Readonly when it first appeared; but unfortunately, he recommended it in that book and thence after even usually competent and logical programmers became like wet-crotched, gooey-eyed schoolgirls in the presence of their pop-idols, leaping irrationally to its defense, perceiving all contrary opinion as a insult to their gods.

    Then again, I railed against Java when it first appeared, and look where that got me:)


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority". I knew I was on the right track :)
    In the absence of evidence, opinion is indistinguishable from prejudice.
      Then again, I railed against Java when it first appeared, and look where that got me:)

      You are in good company. Tom Christiansens rant is still available.

      perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'