this post was submitted on 31 May 2025
344 points (96.5% liked)
Technology
70942 readers
3395 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related news or articles.
- Be excellent to each other!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, this includes using AI responses and summaries. To ask if your bot can be added please contact a mod.
- Check for duplicates before posting, duplicates may be removed
- Accounts 7 days and younger will have their posts automatically removed.
Approved Bots
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I would argue that without consistent and enforced type hinting, dynamically typed languages offer very little benefit from type-checking at runtime. And with consistent, enforced type hinting, they might as well be considered actual statically typed languages.
Don't get me wrong, that's a good thing. Properly configured Python development environments basically give you both, even if I'm not a fan of the syntax.
What's wrong with the syntax? It's just
var_name: Type = value
, it's very similar to Go or Rust. Things get a little wonky with generics (list[Type]
ordict[Type]
), but it's still similar to other languages.One nice thing about it being runtime checked is you can accept union types,
def func(param: int | float)
, which isn't very common in statically typed languages.