What is Static vs Dynamic Typing?
Types checked before running (compile time) or while running.
Statically typed languages (TypeScript, Rust, Go) check types when the code compiles, catching a class of bugs before deployment. Dynamically typed ones (Python, JavaScript) check at runtime, trading some safety for flexibility. Modern practice mixes both: type hints, gradual typing.