this post was submitted on 07 Jan 2024
905 points (94.4% liked)

Programmer Humor

19817 readers
58 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
 
you are viewing a single comment's thread
view the rest of the comments
[–] Blue_Morpho@lemmy.world 24 points 11 months ago (3 children)

Dynamic vs Static is a huge debate that I'm not qualified to answer. My personal preference is static because I like to know my mistakes at compile time instead of after running and something weird happens. That goes along with my preference that all variables should be declared at the top of a function.

https://hackernoon.com/i-finally-understand-static-vs-dynamic-typing-and-you-will-too-ad0c2bd0acc7

[–] floofloof@lemmy.ca 6 points 11 months ago (1 children)

I almost upvoted but for that last sentence. Code block scopes are most intuitive, and JavaScript has become a better language since it gained them.

[–] Blue_Morpho@lemmy.world 1 points 11 months ago* (last edited 11 months ago) (1 children)

Yeah I use it too. But when I have to read somebody's code or my own from a while ago, I prefer everything labeled at the top. That way I can read the top, jump anywhere, and know what is going on without looking at any other lines.

It's a preference that can be argued like dynamic typing.

[–] floofloof@lemmy.ca 2 points 11 months ago* (last edited 11 months ago)

I guess you could make a rule of declaring your variables at the top of their scope, be it a class, a function or a code block. That would give clarity without needlessly expanding any scopes.

[–] AVincentInSpace@pawb.social 5 points 11 months ago

I'm not talking about dynamic vs static though. I'm talking about static typing with or without compiler type inference a la Rust or C++'s auto

(note that Java making generic parameters optional does not count since that is, in fact, dynamic typing)

[–] Lime66@lemmy.world 2 points 11 months ago

I also prefer static typing but I like it when it is implemented like kotlin where type inference is still great, I think dart also works like that