this post was submitted on 28 May 2025
720 points (96.3% liked)

Programmer Humor

24391 readers
548 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] 26 points 3 weeks ago (11 children)

Python people explaining fail to see the point: Yes we know dunders exist. We just want you to say: "Yeah, that is a bit hacky, isn't it?"

[–] [email protected] 18 points 3 weeks ago* (last edited 3 weeks ago) (8 children)

Tbh reserving "main" is just a hacky if not more so than checking __name__ if you actually understand language design.

[–] [email protected] 8 points 3 weeks ago

Reserving main is definitely more hacky. Try compiling multiple objects with main defined into a single binary - it won't go well. This can make a lot of testing libraries rather convoluted, since some want to write their own main while others want you to write it because require all kinds of macros or whatever.

On the other hand, if __name__ == "__main__" very gracefully supports having multiple entrypoints in a single module as well as derivative libraries.

load more comments (7 replies)
load more comments (9 replies)