Machine language consists of numbers, usually between 20 and 200. Each number represents an instruction. Different types of computers use different machine languages, but they all perform the same basic tasks. People have a difficult time understanding this type of language because it is all numbers and no letters. Each word in assembly language stands for a certain command in machine language.
Assembly language is translated into machine language by an assembler.
However, assembly language is not the easiest to use, since each type of computer has a unique machine language. Their commands resemble natural human language, so they are much easier for humans to use. And, they are not CPU specific. That means that different types of computers can understand the same program. Each computer translates the higher-level language into machine code that it can understand by using a compiler.