Interpreters: Interprets Line by Line. Therefore slower than compiler .We input Program and Data Both simultaneously to produce output. It can be called Online, because we provide the program and data to it, and it starts running it and produces Output directly, means that it doesn’t do processing before taking Input/Data.
Compilers: It compiles whole Program at once and produces some executable code. In case of compiler, the pre-processing is done. We provide Program as Input, this program gets processed into some executable file say a machine code, or assembly or any other, then this executable code works separately with Data we give to it, and produces an output. And we don’t need to recompile the program Again and again. Here the program once compiled, and we provide the data to the executable code not the source code.