Języki programowania klasyfikuje się zależnie od tego, do jakiego paradygmatu lub paradygmatów programowania najlepiej się nadają:
Imperatywne - program składa się ze zmiennych oraz modyfikujących je operacji
Obiektowe - definiuje programy za pomocą "obiektów" - elementów łączących stan (czyli dane) i zachowanie (czyli procedury). Obiektowy program komputerowy wyrażony jest jako zbiór takich obiektów, komunikujących się pomiędzy sobą w celu wykonywania zadań.
Funkcyjne – podstawą są funkcje, a nacisk kładzie się na wyznaczenie ich wartości a nie na wykonywanie poleceń
Logiczne - program podawany jest jako pewien zestaw zależności, a obliczenia są dowodem pewnego twierdzenia w oparciu o te zależności.