It may still be a good idea to embed XML into the language, but what about the evolution of two languages. Is this going to cause problems?

I really feel that it isn't necessary or that good of an idea to tie C# to XML directly.

The first reason is to keep the programming language independent of any specific syntax like XML. And also to keep it independent of XML as a data model.

It's better to have language features that make it easy to express the XML data model (infoset) easily. I believe some of the new C# 3 features may facilitate that.

On the other hand...

I have long felt it would be quite interesting with a programming language expressed in a metalanguage like XML and requiring tool support for proper display. It would mean that it would be much more extensible and flexible. Right? If the language was expressed in XML to begin with, well then it would be even easier to support XML fragments out of the box. It could also be built on a more general model like RDF et al. That will mean more overhead but also more freedom in shaping the language I think...

I also find program and data visualization interesting. As well as visualizing domain specific programs and program fragments. Having an extensible language with built-in support for inline domain specific languages could be interesting. It does require rethinking programming since it will become interactive as dealing with a graphical user interface and will rise above typing in characters in many situations, although also complementary. It could also mean presenting different graphical views of the semantics. In effect semantically skinnable code.

At least the idea appeals to me.