Why should Perl special variables get a pass on that?
If you, as a "former monk" don't understand, then it both explains why you left; and why nothing I could possibly say would make the slightest bit of difference to your perception of this situation.
The key indicator here is your phrase: "Mutating global state is bad."
By which you mean: varying variables with top level scope. is verboten; (by you!)
- There is no point in having variables; if you cannot vary them!
Variables that do not; or are not "permitted" to, vary, are constants.
(It is this, beyond the performance penalties, that make Readonly a nonsense.)
- Every program has a 'top level scope'.
Choosing to differentiate between "global variables" and "top level, lexical variables" is a sham. A pointless and puerile non-distinction.
Further, every (useful) program ever written makes some assumptions about ... whatever. This is usually referred to as "configuration".
So your (bland and uninteresting; unless you bother to follow up with some supporting argument) statement reduces to: is there any legitimate reason for a program to ever override its startup assumptions?
And fine, if you can sit wherever you are, and hand-on-heart, conclude that there is never a legitimate reason for a program to override its startup assumptions; then you've won the argument.
But, before you pat yourself on the back consider each of these:
If you can say "No" to all of those; then you've both won the argument, and are either a liar; or not a programmer.
Being selective about what functionality you accept as legitimate, and what you personally choose to reject is one thing; attempting to impose your affectations upon the world at large is another.
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.
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] [d/l] [select] |
Why bother saying any of that non-message related stuff if your message is what you want people to focus on?
My argument isn't strong enough, so I'll distract with the sentimental nostalgia
Mutating global state is bad. We all know this. Why should Perl special variables get a pass on that?
Hehe, why single out special variables, like STDIN/STDOUT/STDERR/@ARGV, why not single out perl itself? I mean global namespaces and all that, that's ten times worse than the special variables
| [reply] |