Instruction lists (or ILs) are one of the five PLC programming languages defined by the IEC 61131-3 standard. (The others being ladder logic diagrams, function block diagrams, sequential function charts, and structured text.)
ILs are not a graphical programming language. Instead, they most resemble assembly language programming. As the name implies, a program is a series of instructions, listed in much the same way as an assembly program.
So for instance, some common operations are mathematical like adding, subtracting, multiplying and dividing values. Other operations can include jumping to a program label as well as calling or returning from separate functions.
Like any PLC programming language, ILs have benefits and drawbacks. One of the clearest benefits is program execution speed. As with assembly language in general, instruction lists are a low overhead language and execute faster than graphical languages. Another plus is that ILs also tend to take up less memory. This is a clear benefit especially in a PLC that is tight on memory space.
On the downside, it is not that common of a language mainly because so many people tend to prefer visual programming languages and environments.