Sistema di tipi
Le regole con cui un linguaggio stabilisce quali tipi esistono e come si combinano.
Statico (controlla il compilatore) contro dinamico (controlli a runtime). Forte contro debole (quanto è rigoroso). TypeScript: tipizzazione statica facoltativa sopra il JS dinamico. Rust: estremamente severo. Python: dinamico, con type hint facoltativi. Il compromesso è tra flessibilità e sicurezza.