> what's the difference between interpreter and compiler?
Compiler compiles your source code to binary code or some intermediate code. Then you are done with your compiler. You can actually throw your compiler away and the produced codes will still be able to run.
Interpreter jumps in to translate your source code to binary code line by line. You do need it when you developing but you need it every time you run your code.
Example of Compilers and Interpreters:
Compilers: C compiler, C++ compiler, pascal compiler, ...
Interpreters: Basic Interpreter, VB Interpreter, ...
Here is an interesting fact: Java includes both a compiler(javac executable) and an interpreter(JVM).
> how can i make a programming language?
This topic can go into a 1000+ page book. So, a research is more suitalbe than a simple answer.
--lichu