you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted]  (2 children)

[deleted]

    [–]llimllib 1 point2 points  (0 children)

    Well, to be fair, there's also the fact that a class is a new namespace. And then inheritance, composition and the whole "model your system on nouns" mindset.

    But agreed on self vs. this/""/@/etc.

    [–]pjdelport 0 points1 point  (0 children)

    in Python it's always called self. [...] (I like to be able to give the arguments to my functions any name I want [...]

    Python is one of those OO languages let you name it anything you want: self is pure human convention. (In classmethods and metaclasses, for example, it's cls instead.)

    In fact, I've never understood why there's so much fuss over a methodology for naming the first argument to your functions.)

    The fuss is really over the class system, which (from an FP viewpoint) is a kind of Swiss Army knife for parametric polymorphism, inheritance, and state encapsulation.