773

No offence

you are viewing a single comment's thread
view the rest of the comments
[-] Faresh@lemmy.ml 1 points 2 years ago

If by «loosely typed» you mean weakly typed, then that's not true. Python is a dynamically and strongly typed language. Attempting to do an operation with incompatible types will result in a TypeError.

>>> "3" + 9
Traceback (most recent call last):
  File "", line 1, in 
TypeError: can only concatenate str (not "int") to str

You may be thinking of the following, but this only works because the __mul__ and __add__ methods of these objects have been written to accept the other types.

>>> "A" * 4 + "H"
'AAAAH'
[-] masterspace@lemmy.ca 1 points 2 years ago

I meant that you do not declare types and a variable's type can change at any time.

Regardless of semantics, it results in code that is not scannable.

[-] Faresh@lemmy.ml 1 points 2 years ago

But it is in no way worse than javascript in that regard, though?

I don't think static typing in Python is really so essential. I see it above all as a scripting language, so its applications don't benefit as much from static typing as other languages do.

Maybe a better hypothetical python would have used some kind of type inference system, like in haskell, which allows for static typing while still allowing to write code unencumbered from types and stuff, but I really think, for Python's target domain, its type system is actually adequate or good. Maybe its documentation could benefit from type hints, though.

this post was submitted on 16 Jul 2023
773 points (100.0% liked)

Programmer Humor

35817 readers
22 users here now

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

Rules:

founded 5 years ago
MODERATORS