Programy napisane w językach niedeterministycznych zachowują się w nieprzewidywalny sposób, dając jedynie określone prawdopodobieństwo uzyskania poprawnego wyniku i z tego powodu nie są przydatne w większości zastosowań praktycznych.

Niedeterministyczne języki są przydatne tam, gdzie przestrzeń poszukiwań rozwiązania jest zbyt duża, aby opłacalne było jej dokładne przeszukiwanie. Są też rozważane w badaniach nad hiperobliczalnością.

Języki despotyczne Tym mianem określa się języki, w których istnieje skończony zbiór komend reprezentujących operacje wykonywane następnie w bieżącym stan programu.

Paradygmat Paradygmat języka pozwala ogólnie określić jego właściwości oraz filozofię tworzenia programów. Wśród języków ezoterycznych można spotkać języki reprezentujące różne paradygmaty, np. imperatywne, w których instrukcje opisują, w jaki sposób przekształcać dane (Brainfuck) czy funkcyjne, np. Unlambda. Programy opisywane są tam jako zestawy funkcji, które wykonywane są na wynikach wykonania innych funkcji.