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?

    • jenesaisquoi@feddit.org
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 day ago

      A scripting language controls an existing binary. A non-scripting language is used to create a new binary.

    • JackbyDev@programming.dev
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 days ago

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

    • mmddmm@lemm.ee
      link
      fedilink
      arrow-up
      0
      arrow-down
      7
      ·
      2 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
        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.

    • MTK@lemmy.world
      link
      fedilink
      arrow-up
      4
      arrow-down
      11
      ·
      2 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
        arrow-up
        10
        ·
        2 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
            arrow-up
            4
            ·
            edit-2
            2 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.

            • AllHailTheSheep@sh.itjust.works
              link
              fedilink
              arrow-up
              2
              ·
              2 days ago

              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
                arrow-up
                2
                ·
                2 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.