• Bobo The Great
    link
    fedilink
    74
    edit-2
    8 days 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!
      link
      fedilink
      English
      628 days 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.

      • @[email protected]
        link
        fedilink
        118 days 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.

      • @[email protected]
        link
        fedilink
        English
        168 days 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
          link
          fedilink
          178 days 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.

          • @[email protected]
            link
            fedilink
            148 days ago

            I think there will be a lynch mob of git users outside your house for calling PR as “push request”.

            • Diplomjodler
              link
              fedilink
              10
              edit-2
              8 days 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.

              • @[email protected]
                link
                fedilink
                3
                edit-2
                8 days 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

            • lime!
              link
              fedilink
              English
              88 days ago

              only github users. git itself doesn’t have PRs, and other forges call them different things. gitlab calls them merge requests, pico calls them patch requests…

      • @[email protected]
        link
        fedilink
        108 days ago

        match isn’t just equivalent to switch though, so in this case it actually makes sense to call it something different.

        • @[email protected]
          link
          fedilink
          15 days ago

          This is very true. Match statements are much more powerful that switch statements in any other language.

          For instance:

          • matching objects very specifically
          • if conditions within case statements
          • pulling variables from inside of the object directly.
    • @[email protected]
      link
      fedilink
      138 days 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.

        • @[email protected]
          link
          fedilink
          1
          edit-2
          7 days ago

          Absolutely cursed, lol.

          So not only did they decide to randomly include Hebrew in their language, because I guess they were feeling kabbalistic, but they got the Hebrew wrong. In what way does any of that increase usability or even make them look competent?

          It reminds me of the INTERCAL manual, which was a joke:

          This precedence (or lack thereof) may be overruled by grouping expressions between pairs of sparks (’) or rabbit-ears (").

    • SolNine
      link
      fedilink
      38 days ago

      List and Array terminology also bothers me … Why not just call it an array?

      • @[email protected]
        link
        fedilink
        15 days ago

        But python lists are not like the base arrays in other languages. They function more like List<> or vector (C++ had to be special) and are named appropriately.

        • SolNine
          link
          fedilink
          11 day ago

          Ahh thank you for that information! In all seriousness, I appreciate you correcting my ignorance.

    • Scrubbles
      link
      fedilink
      English
      08 days 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.

          • @[email protected]
            link
            fedilink
            58 days ago

            I mean, there is a lot wrong with it, but every language has its quirks. Generally I like discussing it’s actual flaws cause it helps me better understand the language.

        • Natanox
          link
          fedilink
          English
          6
          edit-2
          8 days ago

          And switch cases (called match cases) are there as well.

          I use lambdas all the time to shovel GTK signal emitions from worker threads into GLib.idle_add in a single line, works as you’d expect.

          Previous commenters probably didn’t look at Python in a really long time.

        • @[email protected]
          link
          fedilink
          48 days ago

          a lambdo which can only contain one expression, and not even a statement is pretty much useless. For anything nontrivial you have to write a separate function and have the lambda be just a function call expression. Which completely defeats the point

      • @[email protected]
        link
        fedilink
        68 days 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