Also, do y’all call main() in the if block or do you just put the code you want to run in the if block?

  • _____@lemm.ee
    link
    fedilink
    English
    arrow-up
    0
    ·
    11 days ago

    Python people explaining fail to see the point: Yes we know dunders exist. We just want you to say: “Yeah, that is a bit hacky, isn’t it?”

    • Dr. Moose@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      11 days ago

      Tbh reserving “main” is just a hacky if not more so than checking __name__ if you actually understand language design.

      • bastion@feddit.nl
        link
        fedilink
        arrow-up
        1
        ·
        11 days ago

        Yeah, this is it.

        What’s hacky about an introspective language providing environment to all of the executing code, so that the coder can make the decision about what to do?

        It would by hacky if Python decided “We’ll arbitrarily take functions named “main” and execute them for you, even though we already started execution at the top of the file.”

        For C, this is less so. The body of the file isn’t being executed, it’s being read and compiled. Without a function to act as a starting point, it doesn’t get executed.