They afford a high degree of control and speed but are difficult to work with. Assembly language is a low level language a step above machine language. High level languages resemble natural language and, therefore, are easier for people to learn and use. But, they sacrifice at least some speed and power for this convenience. Interpreted languages are translated into machine language code as the program is executing, one statement at a time.
Interpreted languages tend to be fairly slow, but they are easy to work with.
Programs can be tried out as you go along. Compilers translate program into machine language in their entirety before they can be executed. Compiled programs execute very rapidly and they can be operated on computers that do not have a copy of the language itself. However, the cost is the extra effort involved in using a compiler. Programs must be compiled without error before they can ever be tested.