If you want a free compiler (easy to use) then go to
Liberty BASIC - Easy Programming for Windows
But the compilation techniques...
An interpreter turn 1 line of code into a binary code wich the computer "runs"
Since it uses only 1 line at a time, it is good for programs wich are big and have a lot of GOTOs.
A compiler however, is better for programs that run straight through, and they can create *.exe-s (wich is the major drawback with an interpreter; they can't create *.exe-s.).
And I think there was something called Pline, but I don't know about that...