There is a need for constraint programmming to be more open and extensible. There is little support in many existing languages to define new constraints, new constraint solvers, and new heuristics. How to achieve this goal is a fundamentally open question. Ilog Solver offers low-level mechanisms to define new constraints. Each of these approaches achieves different tradeoffs among expressiveness, ease of use, and efficiency.
Constraint programming is too low-level.
Constraint programming are still far from the description of the problem and the gap between the description and the program is non-trivial. Numerica statements are similar to nonlinear statements as found in textbooks and scientific papers and are compiled efficiently to Newton, preserving its efficiency in most cases. Constraint programs are unpredictable. And so are most approaches to NP-hard problems. Although many researchers in constraint programming have developed intuitions on when and how to use constraints, there is a strong need for more characterizations of the performances of various approaches and modelings.