A high level programming language is more like the English language. It uses words such as, If, Then, Else. This is easy for humans to understand, but the computer will not understand this language. Commands are translated into a low level language for the computer to understand, which is binary/machine code. This translation can be done by an interpreter or a compiler. An interpreter takes in one line of code at at time to translate it, where as an compiler converts the whole program before it is run.
Macros and Scripting languages are provided to the user on many programs. A macro is carried out by recording key presses which can be played back to carry out a command. Scrips can be written to perform a series of commands. Both mean that complex commands can be easily carried out by a single keypress and the user interface can be customised for the user.
Modularity – A subroutine is a set of instructions designed to perform a frequently used operation within a program. A parameter is a value which is passed into a subroutine. A parameter is passed by value if its value is not changed by a subroutine BUT a parameter is passed by reference if its value is changed by the subroutine. There are two types of subroutine: procedures and functions. A procedure produces an effect where as a function produces a value.