• @[email protected]
      link
      fedilink
      English
      22 years ago

      I had to use Python for a bit at work and it was confusing

      pipenv, venv, virtualenv, poetry…wtf is all this shit

      a.b vs a['b'] vs a.get('b')…wtf is a KeyError

        • @[email protected]
          link
          fedilink
          English
          12 years ago

          People love to complain about npm and node_modules, but I think they were on to something with the simplicity of it.

      • richieadler 🇦🇷
        link
        fedilink
        English
        42 years ago

        What happens in other languages you use when you try to access a non-existing key for a hash/map/dict?

        What language do you use that accessing an object attribute is the same that accessing a dict key?

        What knowledge do you have (or not) that KeyError is a mistery to you?

        • @Hallainzil
          link
          22 years ago

          What language do you use that accessing an object attribute is the same that accessing a dict key?

          Javascript / Typescript.

          • richieadler 🇦🇷
            link
            fedilink
            English
            32 years ago

            Well, yeah, I thought about later. Lua does the same.

            The other questions are still valid, though.

        • @[email protected]
          link
          fedilink
          English
          02 years ago

          Return undefined.

          Typescript.

          Why error? Just return undefined. Simple, no try/catch needed.

          • richieadler 🇦🇷
            link
            fedilink
            English
            12 years ago

            Because that’s prone to errors. And the Zen of Python includes “explicit is better than implicit” and “Errors should never pass silently”. Languages that do otherwise create bad habits.

            • @[email protected]
              link
              fedilink
              English
              02 years ago

              Is it? It’s just an optional property. And Typescript will tell you that it’s optional.

    • Subverb
      link
      22 years ago

      I’m an embedded systems C programmer with passing familiarity with Python. To me it seems ridiculous that a language relies on whitespace for blocking. Is that true?

      • @[email protected]
        link
        fedilink
        English
        72 years ago

        It only requires consistent indentation inside blocks, which is what any good code does anyway for readability. So the main difference then is just that you no longer need the redundant curly braces.

      • @[email protected]
        link
        fedilink
        02 years ago

        Yes, unfortunately. There is a lot of tooling around it but it still feels bizarre after years of using it.

        • Subverb
          link
          1
          edit-2
          2 years ago

          I’m anal about curly braces in C. I never code without them because I don’t like being ambiguous.

          I never do

          if(i=0) return 0;

          or worse

          if(i=0) return 0;

          I do

          if(i=0) { return(0); }