People use many different languages to communicate with each other. In order for two people to understand each other they need to speak the same language or another person, an interpreter, is needed to translate from one language to the other language. Programmers use many different programming languages to communicate with computers. Computers only "understand" their own machine code. A program needs to be translated into machine code before it can be "understood" by a computer.