Software Engineering ยท Code Quality
A language feature or tool that assigns types to values and catches type mismatches before runtime โ either at compile time (TypeScript, Java) or by inference.
In practice: Static types are documentation that the compiler enforces โ they make refactoring safer and API contracts explicit. The productivity benefit compounds on larger teams and codebases; smaller projects sometimes don't justify the overhead.