пятница, 25 декабря 2009 г.

XQuery, XPath, XSLT and multicore

from here:

"InfoQ: What advantages do languages like XSLT 2 and XQuery 1 have over using a Java DOM model for working with XML in multi-core or Cloud environments?
...
First declarative programming asks the user what they want to do. This is as opposed to imperative programming (ex: Java code working with the DOM or JAXB APIs) which asks the user how they want to do what they want to do. Declarative programming leads to smaller, easier to maintain code that adapts faster to change. It also allows a user to express to the XML runtime what they are interested in or how they want to query or transform data in a way that allows the runtime to optimize in ways not possible when the user tells the runtime exactly how to execute. This difference is very important in multi-core and Cloud as you can imagine optimizations that not only recognize patterns that can be better executed differently on a single CPU, but also executed better on multiple CPUs or across virtual environments. Also, as XSLT and XQuery are functional and side-effect free, you can execute such optimizations with complete safety – something that isn't possible in imperative languages using typical programming APIs. Also, I personally believe, long term, higher level declarative languages will have a better fit with the cloud as they will be more portable than lower level languages that assume a specific runtime."

Комментариев нет:

Отправить комментарий