We've Turned XML Into A Crappy Programming Language

[The .NET and Java communities] have had this trend in which we started jamming everything into XML configuration.
We’ve turned XML into a programming language, and a crappy one at that.
With the ASP.NET MVC project, we’ve taken the approach of Code First, Config Second.

- Phil Haack, Senior Program Manager for ASP.NET MVC


I know this isn't a new idea, but I'm just glad to see that a Microsoft employee who is guiding the direction of a very important product "gets" the emerging trend of DSLs and is actively countering the community's past sins regarding XML.


It was interesting to me that one of the comments on Phil's post mentioned MSBuild as an example of XML gone wild.  I have never used MSBuild, but I have used NAnt, which is very similar in that you basically find yourself programming in XML at some point.  When you find yourself reading  documentation on how to properly construct <if> and <foreach> XML elements, you start to get this strange feeling.  "Wait a minute.  This doesn't feel right.  Can someone please remind me why the hell I'm doing this in XML?"