It doesn't seem very PoLS to have it reordered, although perhaps one shouldn't be surprised that a hash is unordered? Perhaps Matz is convincing us of this statement? Said Matz unto the flock in a loud, Godly voice: "Make no assumptions about the order of hashes!"
"This is a bold statement, especially from a self proclaimed newbie.
You're suggesting that the only reason that people accept that hash
elements are unordered is because Matz says so and we're just blindly
believe him without checking up on these ideas, ourselves."
That's not what I meant. As to whether it is reasonable for you to keep misinterpreting me, well...?
What I meant by all of that which you quoted is the same as what I meant by the lesser amount I subsequently quoted, since I was saying that in Ruby, Matz was CORRECTLY representing what is a reasonable expectation of hashes and that therefore my expectation was probably incorrect. There is no dishonesty or contradiction.
And if there was a contradiction on my part and I quoted that bit which was supportive of it not being a bold statement and I didn't quote the bit for which it was more supportive of it being a bold statement, then by default I can't have made a bold statement anyway, since each would be inconsistent with and undermine the other. Ironically enough you've contradicted yourself!
And again you misinterpret insofar as my having called myself a newbie, when I didn't say that either. Being rusty, or somewhat experienced in one thing does not a newbie make. Nor do I care; I simply don't care if one is a newbie or not. I allow for anyone to be smart and everyone to be stupid.
"That's exactly the problem. Because expectations are so subjective,
it's unreasonable to say "hey, I'm surprised!" and declare that the PoLS
was broken."
If I were to agree with that then I would have no opinions about anything. Regardless of the distinction between having an unmet expectation and expressing that unmet expecation, then I'd still disagree with either one as being a reasonable basis for being dismissive of my own reactions as being PoLS or not as I see it.
Furthermore, and I have to say it again, I never said that PoLS was broken. I asked if it was; I suggested that it might be, but clearly expressed doubt as to whether it was. Still, even if I had. So? I can expect anything I like can't I? What makes sense for me maybe doesn't make sense for you. Discussion ensues and so on.
What it appears you are really saying is that it is unreasonable for ME to be surprised because I'm a dickhead. Or, did I misinterpret you?
"Who's to say why you were surprised or objectively say if your
surprise was "reasonable" or not."
Matz? Yeah, Matz. He's ultimately the arbiter of style and expectation. He's done pretty well so far and I'm happy to go with him quite a long way.
Also, to whomever said that that I had said or implied as much, I never made the claim that Matz had used the term PoLS. I may have made that claim, given or having taken the opportunity to do so, but I haven't.
"No one said that you said this.
I was saying that even Matz doesn't use this term to describe his own
language, so you might think twice about doing so..."
OK, I'll think twice about doing so if I have ever have that thought. If you mean use of the term at all, then I think it is in common enough usage in relation to Ruby for me to use it as something by which we can assess our expectations---Matz having uttered this or not. Although PoLS is on his blog! See Matzにっき(2006-06-01). Although my Japanese is almost non-existant, so I don't know what it says. He could have written that it's nonsense...? Also see http://wiki.rubygarden.org/Ruby/page/show/PoLS\.
Additionally, that page is something which informs the following:
I am not inclined to 'dumb down' Ruby. If I wanted to be straight-jacketed or kept out of the drawer with all the sharp knives, then I'd be using Python. (That there IS a bold statement.)
"I have no idea what this paragraph means."
It simply means that Ruby shouldn't cater for ill-informed ideas that Hash will necessarily order. I want a sportscar, not a factory pimped saloon. I want something that has brevity and a little bit of danger. Fly close to the sun or don't fly at all?
My understanding is that Python is more restrictive insofar as poking around in the internals at runtime is concerned and is weaker on introspection, and I think it is mooted that much of its Lispyness will be curtailed. I don't want to go back to Logo. If I want safe I'll go back to the little turtles.
So, does my expectation remain contradictory to the need for the naturalness requirement of PoLS? I'm not sure. Naturalness itself is subjective. Maybe some people like s-expressions? I sure did with Lisp. Was it natural though? No. Although I suppose it could have been given more time with it. (See next listemail...)
"What gave you this idea, by the way?"
The term hash is sometimes used interchangably with the concept of associative array. At least I thought it was. And given some of the other listemails I think that claim could be supported. Does anyone else think that we need to tighten up our nomenclature? (See next listemail...)
Still, you seem to keep claiming that I had this expectation when I didn't. I suppose I'm saying that I can be surprised by something without having it known to me that I will have a certain expecation because I had a heretofore unrealised expectation. It only became a possible to have a conscious expectation until after I was surprised. I never claimed that it shouldn't be this way. I asked if it should be other than it is.
I'm considering having a .sig. Which do you like?...
--- If it's not beautiful, then it's not right.
--- Some people should stick to programming languages. Natural language seems to stretch them.
--- One man's bug is another man's feature.
Anyway, enough crap stuffing people's mailboxes. Let's stop the meta-meta-discussion and cut some code.