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?

  • bastion@feddit.nl
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    5 days ago

    Yes, because

    In the first kind of language, the thought process is basically: I have the flow of execution, starting at the top of the file. If I want to make a library, I should build the things I want to build, then get out of the way.

    Note the “I have the flow of execution”, and the “if I want to build a library”.

    If you just want to build an executable, do as you wish, you already have the flow of execution.

    If you want to build a library, make the relevant classes and functions and get out of the way (i.e., no IO, no long-running tasks).

    If you want to combine them, use the main name check - or, make a package and do entry points that way. Either way works, because both can fulfill the goal of staying out of the way of those importing this as a library.