Általában érdemes megkülönböztetni a dinamikus nyelvet és dinamikus típussal rendelkező nyelvet. Léteznek viszonylag statikus nyelvek dinamikus típussal.
A dinamikus azt jelenti, hogy a program vagy maga a nyelv(!) megváltozik fordítás vagy futtatási(!) időben. Gondolj egy olyan programra, ami tudja kezelni az osztályait: hozzáad, töröl, átnevez, signal/slot-okat hoz létre és töröl, átdefiniál, öröklődést változtat, öröklődési szabályt változtat stb. Ettől lesz egy nyelv dinamikus, nem a típuskezelésétől.
A legtöbb dinamikus rendszer viszont dinamikus típuskezeléssel rendelkezik, általában azért, mert nehéz külön létrehozni egy sajátos típusrendszert meg egy olyan típusrendszert, ami magában dinamikus.