weak typing: słaba kontrola typów
Języki programowania ze słabą kontrolą typów pozwalają na łamanie pewnych zasad określania typów. Na przykład w języku JavaScript wszystkie zmienne mają określony typ, ale nie jest on bezpośrednio zadeklarowany. Ponadto w języku tym do zmiennej przechowującej na przykład łańcuchy można przypisać nową wartość liczbową, co spowoduje zmianę jej typu. Z jednej strony języki tego typu są przyjaźniejsze programiście, z drugiej utrudniają wyłapywanie błędów na etapie kompilacji.