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?

    • JackbyDev
      link
      fedilink
      English
      23 days ago

      Scripting languages are real. Generally people consider dynamic languages scripting languages but it’s not that simple.

    • @MTK@lemmy.world
      link
      fedilink
      -34 days ago

      I didn’t say it wasn’t real, it’s just a scripting structure and not object oriented, so it doesn’t make sense for it to start by looking for a “main” object

      • @mmddmm@lemm.ee
        link
        fedilink
        84 days ago

        not object oriented

        I don’t think we have a name for what you are trying to say here.

        (And yeah, “object oriented” isn’t it.)

          • @frezik@midwest.social
            link
            fedilink
            3
            edit-2
            4 days ago

            Procedural and OOP aren’t mutually exclusive terms. Most OOP programs are ultimately procedural in nature. Often, the only difference is that the first argument to the function is to the left the function name and separated by a dot.

            • fair, I just think it’s misleading to call python procedural, but it lines up with what the commenter above was describing and searching for the term for

              • @frezik@midwest.social
                link
                fedilink
                24 days ago

                I’d say the term “procedural” itself is an issue. Pretty much any language can be done that way if you choose. IIRC, the creator of Clojure wanted Java to work more that way, and he did it by having a single class full of functions. It’s not a natural way to write Java, and that’s why he invented Clojure.

    • @mmddmm@lemm.ee
      link
      fedilink
      -64 days ago

      It’s a scripting language. What means that the computer runs it line by line, without needing to get the entire project first.

      • @frezik@midwest.social
        link
        fedilink
        104 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
          2
          edit-2
          4 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.

          • JackbyDev
            link
            fedilink
            English
            13 days ago

            I have run into the problem of modifying a bash script while it is running.

        • @mmddmm@lemm.ee
          link
          fedilink
          -54 days ago

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