A Compiler and Interpreter both carry out the same purpose – convert a high level language (like C, Java) instructions into the binary form which is understandable by computer hardware. They comprise the software used to execute the high-level programs and codes to perform various tasks. Specific compilers/interpreters are designed for different high-level languages. However, both compiler and interpreter have the same objective but they differ in the way they accomplish their task i.e. convert high-level language into machine language. Through this article, we will talk about the basic working of both and distinguish the basic difference between compiler and interpreter.