I've heard that Microsoft will abandon development of its standard C/C++ compiler and put all its efforts into a new compiler named Phoenix. Can you

1) give a brief history of what started this push (what caused you to throw your hands up and say "this can't be done" in the current code base)
2) how will you allocate human resources to who is going to be involved in the two compilers
3) What is the transition strategy for projects within Microsoft (i.e. will OS or Office team use Phoenix any time soon or do you need suitable resources on the existing compiler for a very long time)
4) What effort will be put into legacy code. Is this going to be a "new projects only" type compiler or will compiling legacy code be a very high priority.
5) Can you give a bit of description of the mechanics of supporting two different compilers internally in Microsoft i.e. do you ever envision a point where you will have to make fixes to two compilers in parallel (being caught in the situation where a single team of developers must be intimately familiar with two separate code trees?) or are the team members that you are grooming for the future going to be specialists on only one set of code (i.e. either legacy or Phoenix)