• brucethemoose@lemmy.world
    link
    fedilink
    arrow-up
    138
    arrow-down
    2
    ·
    edit-2
    5 days ago

    Meanwhile, Rust punches you in the face for the mere suggestion. Again. And again.

    Python happily nods, runs it one page at a time, very slowly, randomly handing things off to a C person standing to the side, then returns a long poem. You wanted a number.

    Assembly does no checking, and reality around you tears from an access violation.

    EDIT: Oh, and the CUDA/PyTorch person is holding a vacuum sucking money from your wallet, with a long hose running to Jensen Huang’s kitchen.

    • stingpie@lemmy.world
      link
      fedilink
      arrow-up
      13
      arrow-down
      2
      ·
      4 days ago

      I refuse to believe the python one ever happens. Unless you are importing libraries you don’t understand, and refuse to read the documentation for, I don’t see how a string could magically appear from numeric types.

      • expr@programming.dev
        link
        fedilink
        arrow-up
        4
        ·
        3 days ago

        You don’t see how type mismatch errors can happen in a dynamically-typed language? Then why do they happen all the time? Hell, I literally had a Python CLI tool crash with a TypeError last week.

        • stingpie@lemmy.world
          link
          fedilink
          arrow-up
          3
          ·
          3 days ago

          That’s not what I’m saying at all. What I’m trying to say is that I can’t think of any way a program working with numeric types could start outputting string types. I could maybe believe a calculator program that disables exceptions could do that, but even then, who would do that?

          • expr@programming.dev
            link
            fedilink
            arrow-up
            1
            ·
            2 days ago

            The point of the joke is not that the Python interpreter will change types mid-program on its own, but that you don’t have any real way of knowing if you’re going to get the type you expect.

            Programs are messy and complicated, and data might flow through many different systems before finally being used for output. It can and often does happen that one of those systems does not behave as expected, and you get bugs where one type is expected but another is used in actuality.

            Yes, most likely what would happen in Python is a TypeError, not actual output, but it was pretty clearly minor hyperbole for the sake of the joke.