this post was submitted on 21 Nov 2023
256 points (90.0% liked)

Programmer Humor

32479 readers
238 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 25 points 1 year ago (5 children)

Python is actually mostly strongly typed. Strongly (e.g. can't use a number as a string without explicitly converting it), but dynamically (can change type of variable at runtime). You probably would prefer a statically typed language and I agree.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (4 children)

Alright, thanks for the help with terminology. I'm a bit confused about changing types at runtime. I thought a compiled or interpreted language stopped having types at runtime, because at that point it's all in assembly. (In this case of course it's scripting, which someone pointed out to me elsewhere)

[–] [email protected] 3 points 1 year ago (3 children)

That's a compiled language, an interpreted language is translated to assembly at runtime, in pythons case: pretty much one line at a time.

Disclaimer: To the best of my knowledge, please correct me where I'm wrong.

[–] [email protected] 0 points 1 year ago* (last edited 1 year ago) (1 children)

I did know the difference, but I didn't realise it ran one line at a time! I had kind of assumed it at least did one pass through everything before giving output. Thanks.

[–] [email protected] 1 points 11 months ago

I believe it does "one pass" when it loads the code into ram, because syntax errors can be caught before anything runs. But I think the actual interpretation happens pretty much one line at a time :)

load more comments (1 replies)
load more comments (1 replies)
load more comments (1 replies)