REXX is a computer programming language. It's "interpreted", like BASIC or JAVA. All that means is that you write your "program" as a simple text (ascii) file, using a text editor such as Notepad (or RexxEd, a text editor specially designed to easily write REXX software). Your text file will contain instructions to tell the computer what to do. These instructions look like ordinary, English words.

Then, some interpreter software "runs" your text file directly, performing operations based upon your instructions. There's no need for you to convert your text file into an executable program. Your text file is your program. So, REXX is a script language. But, it has lots of features, including variables, creating/reading/writing files, looping, math, etc.

Note: From here on, a REXX program (ie, text file) is referred to as a script, as opposed to binary executables which are referred to as programs.

Like BASIC or JAVA, REXX is meant to be a "simple", easy-to-use language. It's fairly easy to write a REXX script, even for novice programmers. REXX can also be extended with new commands via extra libraries, so it inevitably has the same level of expandability as something like Visual Basic. So, it's a useful language for quickly creating scripts that can be surprisingly complex.

But, there's one thing that REXX can do that many interpreted languages cannot. REXX can interface with another program (even one not written in REXX) and control it and directly exchange data with it, thus becoming a macro language for that program. This is a very powerful aspect of REXX. (But, the other program should be written to support REXX).