A compiler produces an object or executable file that can be manually run after the source code is compiled. On the other hand, the interpreter doesn't produce an executable file, rather it will simulate line bu line what has already been entered, this means the source code is automatically and immediately run. Once compiled, the source code and its respective compiler are no longer needed for execution. Whereas the interpreter is always needed at run-time and its respective code.