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?

  • frezik@midwest.social
    link
    fedilink
    arrow-up
    13
    ·
    2 days ago

    That is not how Python works. There are very few languages that work by executing line-by-line anymore. Unix shell scripts are one of the few holdouts. JavaScript also does it to a certain extent; the browser starts executing line-by-line while a compiler step works in the background. Once the compiler is done, it starts execution of the compiled form right where the line-by-line execution left off. It helps JavaScript be more responsive since it doesn’t have to wait for the compiler to finish.

    • fruitcantfly@programming.dev
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      2 days ago

      Unix shell scripts are one of the few holdouts.

      I don’t know if this applies to other shells, but bash will not only execute your script line-by-line, it will also read it line-by-line. Which means that you can modify the behavior of a running script by editing lines that have not yet been executed*. It’s absolutely bonkers, and I’m sure that it has caused more than one system failure, during upgrades.

      * For example, if you run the following script

      echo "hello"
      sleep 5
      echo "goodbye"
      

      and then edit the third line before the 5 second sleep has elapsed, then the modified line will be executed.

    • mmddmm@lemm.ee
      link
      fedilink
      arrow-up
      1
      arrow-down
      6
      ·
      2 days ago

      Python still has the -i option, and it still runs the same language as the files interface.