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

Programmer Humor

26772 readers
3458 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
[–] _____@lemm.ee 26 points 4 months 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?"

[–] drmoose@lemmy.world 20 points 4 months ago* (last edited 4 months ago) (8 children)

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

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)