this post was submitted on 28 May 2025
713 points (96.2% liked)

Programmer Humor

23711 readers
2153 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 

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?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 13 points 1 week ago (2 children)

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.

[–] [email protected] 2 points 6 days ago* (last edited 6 days ago) (1 children)

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.

[–] [email protected] 1 points 6 days ago

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

[–] [email protected] -5 points 1 week ago (1 children)

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

[–] [email protected] 3 points 1 week ago

The -i option is simply interactive mode. All commands still go through a compiler.