When I first started programming I thought dynamic languages were faster to program in. That was until I had a decently sized project and had no idea what the hell was going on.
Developing with types gives you better documentation at your fingertips since types provide better context, and auto-completion.
Its easier to write code
Developing with types gives you more fail-safes in your code
Your code gets harder to screw up
Etc. Typos/invalid arguments/invalid syntax all explodes at the time of writing, rather than at run-time.
Developing with types gives you more fail-safes when using external code
More reliable interactions between your code and libraries
Ex. Version 3 of the package had breaking changes, all you code now explodes at compile time, rather than at run-time.
Refactoring massive projects becomes stupidly easy to handle.
Cleaner, safer, faster code refactors
Ex. Rename a User object's name property to fullName is as easy.
Projects don't fail because "you don't write code fast enough" they may fail because you can't update your code easily enough, or your code is a mess
Typescript allows you to iterate on existing code faster, and safer, resulting in saved $$$
When I first started programming I thought dynamic languages were faster to program in. That was until I had a decently sized project and had no idea what the hell was going on.
User
object'sname
property tofullName
is as easy.Make the code work for you, don't work for the code!