Why build a language? How does one create a programming language? This blog post is a good overview to start answering these questions.