As a Software Engineering student at Oregon Institute of Technology I am currently taking a course on XML. As part of the course I am trying to (independently) learn some of the tools built around XML (Xalan, FOP, Cocoon, etc).

I have a very open question, which will likely get me in trouble with some Java die-hards, but I am really curious so I will ask anyway:

Why are most XML tools written in Java?

Obviously some tools have been written in C, and some have been developed with both Java and C implementations (Xerces), but my experience is that the Java tools are more mature and more widely used. Even Saxon, which was one of the first XSLT libraries, was written in Java.

It's not that I am opposed to Java, but I believe C/C++ are still more common in Industry than Java and are, therefore, easier to use for many XML developers?

Assuming the primary reasoning is portability, aren't command-line and server programs written in C extremely portable? I think the Apache Server itself is a great example of that.

Thanks for your feedback,

Shawn Hempel