projeto-de-compiladores

What is Backus-Naur Form (BNF)?

I was reading an answer here and came across this term, so what does this term mean, and what is the relationship/influence in current languages?

How is a compiler made?

Is a compiler programmed in which language? Are all compilers of a language the same or can one exist better than another?