REXX je skraćenica za “restrukturirani prošireni izvršitelj”. Riječ je o programskom jeziku koji je stvoren da ga je lako naučiti i koristiti, a sadrži aspekte prirodnog jezika i oslobađa programera od muke oko brojnih detalja u radu računala. Iz tog razloga se naziva programskim jezikom visoke razine ili skriptnim jezikom. Jezik se također može pohvaliti brojnim dodatnim značajkama, kao što je slobodan oblik, pojednostavljena sintaksa, vrlo mali skup instrukcija i nema potrebe za deklaracijama tipa podataka.
Prvobitno stvoren 1979. od strane Michaela Cowlishawa, koji je u to vrijeme radio za IBM®, prvo je nazvan Rex, “reformirani izvršitelj”, a dodatni “X” dodan je kasnije kako bi se izbjegla zabuna s drugim proizvodima. Cowlishaw je razvio jezik, tijekom svog slobodnog vremena tijekom nekoliko godina, kako bi služio kao skriptni jezik koji se mogao koristiti na IBM® mainframe računalima ili bilo kojem drugom sustavu. IBM® je objavio REXX kao proizvod 1982. godine, zbog sve veće popularnosti. Od tada se jezik našao na svim računalnim platformama, uključujući stolna osobna računala i mobilne uređaje.
Kao interpretirani jezik, REXX se često koristi kao skriptni jezik, gdje se kod sprema u jednostavnu tekstualnu datoteku, a zatim izvršava od strane tumača. Naravno, tumačom se također može upravljati kao zasebnim programom, koji pruža naredbeni redak za izravno upisivanje sintakse jezika, što ga čini korisnim za testiranje i druge brze naredbe i operacije sustava. REXX služi kao jezik za lijepljenje, jer je u stanju spojiti funkcije iz drugih programa u jednu skriptu. Jedna od njegovih najvećih prednosti je dizajn kao makro jezika. Programeri mogu jednostavno dodati REXX podršku svom softveru tako da se makronaredbe mogu pisati bez potrebe za programiranjem vlastitog jezika makroa u svoj softver.
Još jedna od značajki REXX-a je njegova sintaksa slobodnog oblika, što jezik čini sličnim drugim skriptnim jezicima, kao što je Perl. Uz ovu mogućnost, korištenje jezika postaje jednostavnije jer su zahtjevi za pozicioniranje, kao što su uvlačenje i znakovi na kraju reda, manje strogi. Nadalje, cjelokupna sintaksa korištena u jeziku je samo 23 specifične upute. Ovaj mali skup instrukcija, sa svojim operandima, može se povezati s gotovo svime, uključujući grafička korisnička sučelja (GUI), baze podataka i web poslužitelje. Iz tog razloga, REXX se ponekad koristi kao skriptni jezik zajedničkog pristupnog sučelja (CGI) na web poslužiteljima.
Još jedna donekle jedinstvena osobina jezika je nedostatak tipova podataka. REXX koristi samo znakovne nizove kao tipove podataka. Značenja nizova ovise o njegovoj upotrebi, a matematika se može izvesti na bilo kojem nizu koji tvori valjani broj. Ova inherentna sposobnost rada sa nizovima čini jezik korisnim za raščlanjivanje i obradu teksta.