top | item 41221544

(no title)

daniel-s | 1 year ago

Do you mean like mypy and optional type hints or something different, enforceable like Typescript?

discuss

order

KaiserPro|1 year ago

Its not runtime enforceable though. Personally whilst I do provide type hints (I have a the linter setup to remind me) They are only really useful as a documentation tool.

As they are not enforced at runtime, you can easily return bollocks and not know.

I really like how c# does it, which is have strict typing on by default, but allowing you to turn it off for things where you're wanting to be loosey goosey. Not having to do a bunch of type checks on every operation would also speed up a bunch of things inside python

However, that would make it a different language. perhaps python 4? (ducks)

grumbel|1 year ago

It would be nice to have typing in the core language/interpreter, including runtime type errors, instead of this weird add-on approach. I constantly run into situation where the code is fine and mypy complains or the code is broken and mypy says it's fine. It all just feels like one gigantic fragile workaround instead of a proper type system that you can depend on.

fastball|1 year ago

I wouldn't really say Typescript is enforceable, given that the types aren't actually considered at runtime.

pyrale|1 year ago

That is the case for most typesystem considered safe, save for introspection use cases. For instance, haskell, a language with strong type guarantees, does erase types for runtime.

pjmlp|1 year ago

In fact, people should see Typescript as a linter / bundler tool than a programming language by itself, ignoring the design mistakes of how enums and namespaces came to be.

umanwizard|1 year ago

Almost no languages have types considered at runtime.