Lists Home |
Date Index |
Michael Champion wrote:
> But back to the issue of the advantages of a declarative approach:
> They seem to be, in theory anyway, from what I learned re-reading the
> old thread:
I'd like to add one advantage to your list:
- declarative approaches decouple the choice of the procedure eventually
used from the query, thus enableing the query processor to pick the
(maybe your use of 'don't scale well' implies this, though)
> - procedural approaches don't scale well; think of how much better SQL
> (or XQuery!) DBMS work than the old hierarchical or CODASYL navigation
> model did. A more modern analogy would be the difference between
> using XPath (quasi-declarative) vs raw DOM operations (procedural) to
> search an XML document for some pattern.
> - Ordinary mortals can use GUI tools to declare relationships (e.g CSS
> stylesheets); nobody has really been able to automate the hard part of
> procedural programming, and a relatively small percentage of people
> seem to be comfortable thinking that way.
> - The declarative approach is more amenable to parallelization, e.g. a
> PDF (declarative) formatter could process each page in a separate
> process whereas a PostScript program (procedural) could not because it
> has to run from the beginning to setup the necessary state for a given
> - Overall declarative approaches allow complexity to be managed -- at
> least within some coherent domain -- because the poor humans just deal
> with defining concepts and relationships one at a time, and the more
> patient machines plow through all the implications.
> So, do these theoretical advantages of the semantic web approach to
> transformation over just writing code in your favorite OOP language
> actually hold up in practice? Or is it just a matter of transferring
> the messy grunt work from somebody called a "software engineer" to
> somebody called an "ontology engineer"?
In find this comparison approach *very* interesting, especially when
combined with the issue of 'letting the system pick the procedure'.
Consultant & Programmer