RPG (ang. Report Program Generator) to jeden z najpopularniejszych i wciąż wykorzystywanych języków programowania serwera AS/400. Prawdopodobnie był drugim najczęściej używanym językiem do zastosowań komercyjnych na komputerach klasy średniej zaraz po Cobolu.
Jego historia sięga lat 60. XX wieku, gdzie powstał właśnie jako Report Program Generator i do dnia dzisiejszego tworzone są w nim różnego rodzaju oprogramowania na serwery IBM (ang. International Businnes Machines Corporation). Natomiast początkowo był używany na komputerach posiadających czytniki kart perforowanych. Jego projekt powstał we wcześniej wspomnianym IBM dla systemów klasy mainframe, głównie dla maszyn System/390 (wersja RPG2). Oprócz tego powstało kilka jego wersji, były to wersje: RPG3, używana głównie na maszynach System/36, natomiast następcami tych maszyn były AS/400, obsługiwane już przez RPG/400 w której poprawiono obsługę baz danych, plików a także zmodyfikowano składnię. Kolejną wersją, która wyewoluowała z RPG3 była wersja RPG4. W jej przypadku projektanci zdecydowali się usunąć składniowe pozostałości z okresu kart perforowanych. Obecnie można spotkać się z nim w wersji RPG IV (lub pod nazwą ILE RPG) czy VisualAge RPG.
W ocenie wielu programistów RPG, jest to język dość trudny do przyswojenia a różnego rodzaju kursy szkoleniowe, pozwalające poznać chociaż podstawy programowania w RPG są jednymi z najdroższych kursów w porównaniu do innych języków.