4GL (4th generation language – język czwartej generacji) – dowolny język programowania, pozwalający przy użyciu krótkich instrukcji stworzyć program, którego napisanie w językach niższej (np. trzeciej, 3GL) generacji wymaga użycia setek lub tysięcy razy większej liczby wierszy kodu źródłowego. 4GL często dopuszcza pisanie fragmentów kodu w kilku językach 3GL jednocześnie.
Podstawowym wyróżnikiem języka 4GL jest jego specjalizacja, tworząca z języka efektywne narzędzie w ramach ściśle określonego obszaru zastosowań. Termin „4GL” został użyty po raz pierwszy w publikacji Jamesa Martina w publikacji „Applications Development Without Programmers” w roku 1982.