On Thu, Dec 4, 2008 at 12:09 AM, Kurt Cagle <
kurt.cagle@gmail.com> wrote:
> Mukul,
>
> Re: your examples -
>
> #1. Complex Business Logic. I've actually found that if you break business
> logic down into state transitions, XML-based solutions are actually more
> effective there than Java ones are, in part because of the templating
> capabilities of XSLT, in part because it makes changing business logic
> simply a matter of changing a particular set of pragmas in an XML document
> (I've done some very sophisticated BL type work using ISO schematron, for
> instance).
> #2 Game Programming. Again I'd differentiate here between the rendering
> modules (which I would agree should be handled only via imperative code
> because of processing speed limitations, though it should be pointed out
> that OpenGL is for the most part a declarative language) and game logic,
> which I'd argue is a specialized case of #1. Note even here, though, most
> game engines maintain declarative data objects with very low level (CRUD
> type) APIs, rather than maintaining the overhead of a full OOP object for
> every entity instance in the game. I wouldn't necessarily use XML here, but
> that doesn't mean that what's involved isn't defined within the context of a
> declarative state diagram and timed transformations on those diagrams.
> #3 GUI Programming. Er, um ... given the migration to HTML/AJAX based
> systems of nearly all GUI-based applications, I'd question this.
> JavaScript/AJAX may be involved, but again its a relatively simple mapping
> in both cases to turn external JavaScript working on objects into internal
> JavaScript bindings to a declarative (XHTML or HTML) environment. My
> suspicion is that by by 2015, imperative GUI programming will be rare.
>
> -- Kurt Cagle
> -- Editor,
xml.com
> -- O'Rielly Media