If you want an easy start re-implement an interpreted language first, then write a compiler for it.
Reply on news.ycombinator.com