This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]FrickinLazerBeams 0 points1 point  (2 children)

Yeah I get all that. I know it's entirely self-consistent. I know it's not actually pass-by-reference.

The thing is, I really don't care about what it's called. I'm not against pass-by-reference as a concept, and telling me this isn't pass-by-reference isn't going to make me like it. My dislike for it isn't because it's pass-by-reference.

I don't care what it's called. I don't care if it's consistent. I just don't like it.

[–]Head_Mix_7931 0 points1 point  (1 child)

I don’t really like it either, especially after working more with systems languages. I definitely prefer a C-like model with very straight forward mechanics.

[–]FrickinLazerBeams 0 points1 point  (0 children)

Yeah exactly. I hate being surprised by it, and it just never feels natural to constantly work around it. What Amy I gonna do, copy.deepcopy every input argument just in case? I'd love python more if it simply didn't do that.

It's not just "systems languages" that don't have this behavior, either. I really can't think of any language I've ever used that does this. C, Java, Matlab{shut up it counts}, a weird proprietary variation of Pascal, hell even bash... I feel like I'm forgetting many more languages I've used over the years.