• Bobo The Great@sopuli.xyzdeleted by creator
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    1 year ago

    Partially unrelated to the meme, but I find it almost malicious how some python keywords are named differently from the nearly universal counterpart of other languagues.

    This/self, continue/pass, catch/except and they couldn’t find a different word for switch so they just didn’t implement it.

    It’s as if the original designers purposefully wanted to be different for the sake of it.

    • lime!@feddit.nu
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      pass and continue are absolutely not equal (pass is a noop, and python has a continue keyword that does what you think), and switch is called match like in many other languages. except is weird though.

      • Phen@lemmy.eco.br
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        “except” is also used in Pascal (or at least the main derivatives of it), but not sure if that’s older than its use in Python or not.

    • CanadaPlus@lemmy.sdf.org
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      PHP naming “::” a Paamayim Nekudotayim is also pretty infamous.

      When I’m designing shit, I’m pretty zealous about borrowing terminology from anything even vaguely related to avoid this.

      • Jambalaya@lemmy.zip
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 year ago

        Isn’t self not actually a keyword? Like you can name the first variable in a class method anything and it will behave like self.

        • Diplomjodler@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          You could use “this” instead of “self”. And if you want a lynch mob of Python programmers outside your house, make a push request with that to some commonly used package.

            • Diplomjodler@lemmy.world
              link
              fedilink
              arrow-up
              0
              ·
              edit-2
              1 year ago

              I’ve been wondering about the noise.

              Edit: turns out, they weren’t there to lynch me. They just gave me a two hour lecture on proper usage of git.

              • naught@sh.itjust.works
                link
                fedilink
                arrow-up
                1
                ·
                1 year ago

                TECHNICALLY, there is no such thing as a pull request in git. That’s a Github convention. It’s really a merge request

                e: drat someone already out-pedantic’d me

    • Scrubbles@poptalk.scrubbles.tech
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      Iv come to loathe the “pythonic way” because of this. They claim they wanted to make programming easier, but they sure went out of their way to not follow conventions and make it difficult to relearn. For example, for me not having lambdas makes python even more complex to work with. List operations are incredibly easy with map and filter, but they decided lambdas weren’t “pythonic” and so we have these big cumbersome things instead with wildly different syntax.

      • undefinedValue@programming.dev
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        Speaking of big cumbersome things with wildly different syntax have you tried a ternary operation in python lately? Omg that thing is ugly. JavaScripts is hard to beat.

        uglyTernary = True: if python_syntax == “shit” else: False prettyTernary = javascript_syntax == “pretty” ? true : false

        • limdaepl@feddit.org
          link
          fedilink
          English
          arrow-up
          0
          ·
          1 year ago

          That’s just because you’re used to it. The pythonic ternary is structured like spoken language, which makes it easier to read, especially if you nest them.

          Is there an objective argument for the conventional ternary, other than „That’s how we’ve always done it!“?

          • Ephera@lemmy.ml
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            The conventional ternary is structured like a normal if-else. In fact, in many languages with functional influence, they’re the same thing.

            For example, you can write this in Rust:

            let vegetable = if 3 > 4 { "Potato" } else { "Tomato" };
            
  • WolfLink@sh.itjust.works
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    In Python, self is not a keyword, it’s a conventional variable name. You can replace all instances of “self” with “this” and your code will work the same.

    • SystemNeo@toast.ooo
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      It’s either a reference to an object instance, or the instance itself (depending on whether you specified &mut self, &self or just self).