Comment on Java at 30: How a language designed for a failed gadget became a global powerhouse
kescusay@lemmy.world 6 days agoOh, I know you can, but it’s optional and the syntax is kind of weird. I prefer languages that are strongly typed from the ground up and enforce it.
sugar_in_your_tea@sh.itjust.works 6 days ago
Python is strongly typed, it’s just not statically typed. Python with consistent type hinting is extremely similar to a statically typed language like C#.
kescusay@lemmy.world 6 days ago
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.
sugar_in_your_tea@sh.itjust.works 6 days ago
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.