Constraint programming is a kind of declarative programming. Specifically, where you say what conditions constitute the solution of problem, rather than the laying out steps or algorithms by which you get to it. Deng Xiaoping had a saying for it. A bit like assessing weather conditions for sailing, or evaluating economic indicators when deciding central bank policy, these conditions come in the form of restrictions on the interrelationships of a carefully selected set of variables which model the computing problem.

There are various Java libraries to help write applications that use this idiom, like Choco, or Constrainer, to name but two, and there's growing interest in this style of computing.

So it was good to see yesterday the JCP give the go ahead to develop a standard Java API for constraint programming.