• @cocobean
    link
    English
    211 months 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

    • @richieadler@lemmy.myserv.one
      link
      fedilink
      English
      511 months 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@lemmy.world
        link
        fedilink
        311 months ago

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

        Javascript / Typescript.

      • @cocobean
        link
        English
        111 months ago

        Return undefined.

        Typescript.

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

        • @richieadler@lemmy.myserv.one
          link
          fedilink
          English
          111 months 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.

          • @cocobean
            link
            English
            011 months ago

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

      • @cocobean
        link
        English
        111 months ago

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