1.2.4. Dynamické vs. statické typování proměnných

Tyto pojmy souvisí s uložením typové informace o proměnné.

U statického typování se datový typ přiřazuje k proměnné při její deklaraci. Proměnné jsou známy již při překladu zdrojového kódu a díky tomu již v době překladu lze odhalit některá nesprávná použití proměnných a datových typů (chyby v programu). Také to umožňuje lepší optimalizaci programu na výkon. Nevýhodou je, že proměnná může nést jen hodnoty jednoho datového typu a obejít toto omezení komplikuje psaní programu.

U dynamického typování je datový typ sdružen s hodnotou. Hodnoty proměnných vznikají až za běhu programu a tak nemohou být jejich datové typy kontrolovány při kompilaci. Mohou ale být kontrolováný za běhu programu. U jazyků s dynamickým typováním může nést proměnná hodnotu různých datových typů. Také u nich lze za běhu programu datové typy, třeba třídy, modifikovat. To zlepšuje flexibilitu a snadnost programování, ale ztěžuje optimalizaci programu na výkon. Proto jazyky s dynamickým typováním jsou obecně pomalejší.

Více viz. [Wraith1]