|
I'm an XP advocate:
* Pair Programming: I'm not currently working paired, in fact I'm currently not really working on a team at all, although I did work paired for about 18 months.
* Test First: really, really, helps
* Refactoring: really, really, helps
etc.
I found it had to go to XP because my job title is "Computer Architect" (as in hardware), and architecture is BDUF, Big Design WAAAYYY Up Front". But I realized that XP is what I have done in some situations where I have been most successful.
---
But, though I'm an XP advocate, I'm also serious about XML. In fact, in many ways I was doing XML, at least self-describing data, before XML.
E.g. I wrote PerlSQL (google that if you care);
I would have written it to use SQL, if I had known about XML at the time).
---
I'm interested in XML as a way to solve, once and for all, problems that I have repeatedly written ad-hoc custom programs to solve. I'm interested in XML because it may allow me to leverage XML tools in ways that will help me. I.e. I am interested in XML because it may be a non-local optimization: it may not be the fastest way to solve the problem I have today (which, interestingly enough, is a test database for a tool that I am applying XP on), but I think that it may be worth a few extra days to use XML, and make subsequent tools easier.
(5 years ago I would have used PerlSQL for today's problem; I could still do so today,
but I am willing to give XML a go.)
---
XML is a horrid, clunky, verbose data format.
My database tools will continue to support
CSV, PerlLikeRecords, and LISP-like S-expressions.
But XML will join the gang,
and I will be able to convert into XML as I desire,
and back again.
XML programming tools are, well, even worse.
DOM vs. SAX-push vs. pull interfaces...
OK, maybe XML programming tools are okay for Java and scripting languages; about half of the time I can get along with scripting languages, and I would *love* to be able to use Java, but for the other half of the time Java, Perl, Python, Ruby, etc. are just too damned slow, and I have to use C++. (And in the computer architecture / hardware design community I am considered radical for using C++ rather than C.) And usable C++ libraries for XML are scarce --- I hope that something better than DOM and SAX are available.
(I am also hoping to bait people into telling me about them... send email.)
---
The XML community has a definite bias towards
what seems to me to be fairly "lightweight" programming - webservers, data interchange, etc.
Important problems, just not at the same level as I have to work at.
And, because of this, XML tools are somewhat limited.
By the way, the eXtreme Programming community is also heavily biased towards commercial programming, developing of websites, etc.
I'm not quite sure how this relates to an earlier poster's comment about software production vs. software applications, but I suspect it does.
And I am in still another domain of software (and hardware) enginnering.
---
One comment:
I arrived at XML from the point of view of self describing data. I had great hopes for XML in that regard in the early days.
But XML has spent the last few years concentrating on schemas, DTDs, etc.;
and in most databases changing a schema is a heavyweight action. The exact opposite of the
sort of agility that XP espouses; the exact opposite of my world, where the "schema" changes every time I run an experiment, and realize what new question to ask. (I asked Jim Gray and Andreas Reuter what relational schema could be used for my experimental data, and the consensus was fully, completely, normalized. Schemas don't help much there... Maybe overlapping partial schemas might. But, everything must be lightweight.)
So, it may just be that XML took a turn that took it away from the self describing data world for a while.
---
Another quick comment: maybe XP would look at XML
more kindly if there was any Wiki based on XML.
Wikis are at the heart of the XP movement.
In fact, Wikis are really a move away from HTML, and away from XML, towards even lighterweight and more human friendly data.
---
Overall XML and XP are not necessarily incompatible.
You just gota see that you need it.
|