Because REXX is meant to be a simple programming language for most any person, there are some things it has in common with English.
If you were using a computer to give written instructions to another person, you would first use a text editor (such as Windows Notepad, or Microsoft Word, or some other program that lets you write text) to write the instructions. Your instructions would contain English words (formed into sentences). Then, you would save those written instructions in a text (ie, ascii) file. Finally, you would give that file to the intended person for him to read and execute. Afterward, you would yell at him for not following your instructions when you told him to buy Microsoft stock when it was at $5 a share. For example, your written instructions (that you save in a text file) may look like this:
Call up your stock broker. Tell him to buy Microsoft stock at $5 a share. Wait until the stock reaches $100 a share. Sell the stock. Retire and join Bill Gates' country club.
With REXX, you write your instructions (for the computer) also using a text editor such as Notepad (or Rexx Center, which is a text editor with certain features that make it easy to create REXX software). Your text file will contain instructions to tell the computer what to do. But these instructions won't exactly be sentences containing English words. The instructions will contain REXX "words". To make it easier for you to understand the REXX language, most of these REXX words look like ordinary, English words, and you can usually figure out what a REXX word tells the computer to do just by looking at the word. For example, you will discover that the SAY word tells a computer to display some information upon the computer monitor. You're telling the computer to "say" something to you (and since computers primarily give feedback to a human via the monitor, that's where the computer "says" something). So REXX instructions do tend to employ what look like ordinary, English words. We call these REXX words keywords.
A REXX instruction is analogous to an English sentence in that it expresses one complete thought (or to the computer, all the information needed to perform one specific action). But REXX "grammar" is a bit more strict than English (because computers translate things more literally than a human). Whereas your written instructions to another human consisted of sentences combined into a single paragraph, each REXX "sentence" (ie, instruction) must be placed upon its own line, and an instruction can't be broken up onto multiple lines. (There are exceptions to these rules, but we'll save those for later). For example, here are two written REXX instructions (that you save in a text file). Do not worry about what the PULL keyword means. We'll get into the details later.
PULL something SAY somethingNote that each (of the two) REXX instructions is on its own line. Each instruction performs one action/operation, so the computer will perform two actions. It will first perform an action based upon the instruction containing a PULL keyword, and then it will perform an action based upon the second instruction containing a SAY keyword.
After you write your REXX instructions, you save them in a text (ie, ascii) file. Then a special program called a REXX interpreter "runs" your text file as if it were just like any other software program on your computer, causing the computer to perform operations based upon your REXX instructions in that text file. There's no need for you to convert your text file of REXX instructions into an executable program. Your text file is your program.
After the computer runs your REXX instructions, you can yell at the computer for not doing what you expect, even though the fault is undoubtably that you made a mistake in writing the instructions. Go ahead and blame the computer. All programmers do. It's not as if the computer is going to tell your boss that the blame is really yours.
So, REXX is a script (ie, interpreted) language, like Java or BASIC. 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.The REXX language can also be extended with new "words" (ie, commands) via extra add-on packages, so it inevitably has the same level of expandability as something like Visual Basic. REXX is a useful language for quickly creating scripts that can be surprisingly complex.