OO versus XML + agile programming languages?

Over on his O'Reilly Network blog Uche Ogbuji took issue with my use of XML in my response to the extreme use of OO. The problem that I face is that I'm not a Python programmer, even though I program in Python, just as I was never a Java programmer even though I programmed in Java, nor was I a Perl programmer when I programmed in Perl. Languages are just tools. Data, however, is different. It has a permanence that exceeds the bounds of a particular programming language and to me placing data within the syntax of a particular programming language is not necessarily a good thing. Like Uche, I believe that dynamic languages are the way forward, however I also believe that we need to weaken the coupling between a particular language and the actual solution to a problem to whatever degree we can.

As for the specifics of using XML in that case it was just an attempt to show it as an option. Simon Willison had already demonstrated a solution exactly like Uche is advocating, so I simply wanted to add on another perspective that pulled the data out of the language. XML was the easiest way for me to do that. When I mentioned XML was overkill what I was thinking was that it was overkill compared to using something like a Java style property list file, not compared to expressing the data in a programming language. Whether the use of XML in this case was or was not a good idea is an unanswerable question without considering much more context (that doesn't exist) so we won't worry about it anymore.

Oh yeah, I've also seen a few people say that I'm an OO hater or some such nonsense. Like everything, OO is a tool, sometimes it's good, sometimes it's not. The same applies to data oriented programming and XML. Unfortunately since I'm experimenting heavily with pushing the use of XML and data oriented programming to extremes, my posts often come off pushing the techniques more then I would when building a real world production application. That's the bias of my writing, simply because that's what I'm interested in and that's what I want people to be more aware of. I do believe we've gone too far with OO and that it is getting over used and is resulting in systems that are far too complex, but that's a long way from hating OO.

Posted by Kimbro Staken

Saturday Jan 3, 2004 at 9:09 PM
Recommended Sites