Yes if you use type annotations. Languages like Python and Typescript end up resorting to “Any” types a lot of the time, which breaks any kind of theorem proving you might have otherwise benefited from.
Comment on We did this to ourselves
xmunk@sh.itjust.works 1 year agoI may just be an old country lawyer PHP developer… but don’t most dynamic languages also support static type checking and general analysis at this point?
tatterdemalion@programming.dev 1 year ago
xmunk@sh.itjust.works 1 year ago
I know Java developers that are addicted to Object. Hit them over the head with an ensmarttening stick and reject their PRs.
tzrlk@lemmy.world 1 year ago
Java developers aren’t allowed to not know better by this point. If they think skipping types is somehow ideologically purer, keep hitting with that stick until you hit deckplate.
Solemarc@lemmy.world 1 year ago
Yes but no. Modern PHP lets you put types in function signatures and it will then attempt to convert your inputs to those types at runtime.
JS/TS and Python don’t do this. They have optional type annotations that’s treated as syntactic sugar. You can use static checkers against this but if you get an error like “expected string got int” you can still run the code. It won’t behave any differently because you have annotations.