Re: [xml-dev] RE: Declarative programming requires a different mindset

From
Gavin Thomas Nicol <>
To
XML Developers List <>
Date
2010-03-29T15:10:34Z
ID
<>
Thread
Re: [xml-dev] RE: Declarative programming requires a different mindset
On Mar 28, 2010, at 9:00 AM, Costello, Roger L. wrote:

> 
> RECAP
> 
> Declarative programs describe the relationship of the output to the input.
> Declarative programs describe the problem.
> Declarative programs define reusable concepts; functions are typically the programming machinery used for defining concepts.
> Declarative programs assemble concepts to create bigger concepts, i.e., functional composition.
> Declarative programs allow the computer to devise its own execution plan, which may enable the program to be executed in any order or even in parallel.
> Declarative programs do _not_ have instructions or statements.
> Declarative programs do _not_ tell the computer what to do, i.e., how to solve the problem.
> Declarative programs do _not_ tell what values to put into particular memory locations.
> Declarative programs do _not_ have variables that vary.
> Declarative programs do _not_ impose a particular execution plan on the computer.
> 
> /Roger

Functional programming is another name for this. See the paper, "Why Functional Programming Matters" http://www.cs.chalmers.se/~rjmh/Papers/whyfp.html.

Another way to look at it is that declarative programming tends to look at programs as data, not as instructions... people with a declarative mindset tend to generate and manipulate programs, just as they would any other data.