Python is easy, but it can also be infuriating. Every time I use it, I’m reminded how much I loathe the use of whitespace to define blocks, and I really miss the straightforward type annotations of strong, non-dynamically typed languages.
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#.
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] or dict[Type]), but it’s still similar to other languages.
One nice thing about it being runtime checked is you can accept union types, deffunc(param: int | float), which isn’t very common in statically typed languages.
Python is easy, but it can also be infuriating. Every time I use it, I’m reminded how much I loathe the use of whitespace to define blocks, and I really miss the straightforward type annotations of strong, non-dynamically typed languages.
Most overrated language imho. I actually enjoy Java more.
You can annotate types in Python, and it’s actually pretty nice when used with Pyright/Pylance.
Oh, 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.
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#.
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.Try ‘Nim’. It is Pythonic language with static typing.
use bython, python with braces XD
Hasn’t been updated since 2018. Does it still work?
i honestly don’t know. i’ve read about it here and there but never actually tried it
Preach it! 🙌⛪