Warning: Some posts on this platform may contain adult material intended for mature audiences only. Viewer discretion is advised. By clicking ‘Continue’, you confirm that you are 18 years or older and consent to viewing explicit content.
The problem with optional typing is that it has all the downsides of both but gives you very little of the advantages of a strong static type system, e.g. being able to rely on types catching certain kinds of errors when refactoring because you don’t know for sure that all APIs have types. It is really nothing more than an admission by dynamically typed languages that static types are so useful you can’t really do without them while at the same time not admitting that it might be best to move to a language and library ecosystem that was designed with static types from the start.
The problem with optional typing is that it has all the downsides of both but gives you very little of the advantages of a strong static type system, e.g. being able to rely on types catching certain kinds of errors when refactoring because you don’t know for sure that all APIs have types. It is really nothing more than an admission by dynamically typed languages that static types are so useful you can’t really do without them while at the same time not admitting that it might be best to move to a language and library ecosystem that was designed with static types from the start.