E4X and Configuration

Jon Udell posted some more comments about E4X today. If you haven't been following along, it's a proposal to make XML a native data type in JavaScript, so that programmers can manipulate it as naturally as they do strings or lists. The most exciting thing for me about E4X (and variants) is that it provides a path away from the morass of "passive" XML configuration files that currently plague web development. My students (hand-picked, all with good GPAs, most with industrial experience) have had a hard time getting the "standard" Java web toolset---Eclipse, Ant, JUnit, Hibernate, Tapestry, and Tomcat---up and running. Most of their grief has stemmed from the fact that much of what developers care about is in XML config files, for which there isn't any kind of break-and-inspect debugger. RubyOnRails and other "pure scripting" solutions are easier to use in part because all of the config glue is in the language the programmer is using, so she can bring all her programming power tools to bear when something goes wrong. (Oh, and she doesn't have to wedge conditionals, loops, and the like into some hashed-together XML syntax.) From what I've seen so far, JavaScript with embedded XML (and the reverse) would give us a way to migrate from the existing undebuggable mess toward programmatic configuration.