Sometimes I get to use constraint programming (CP) at $DAYJOB.
For prototying solutions, the MiniZinc language is nice to use, since it is a language for modelling combinatorial optimization problems.
To use a CP solution in an actual product, I prefer to use a solver library in C++ or Java. Typical examples would be Gecode (C++), Choco (Java), or or_tools (C++ with Java bindings). If I had the money to buy an expensive product, IBM CP Optimizer seems to be a really good system with awesome automated search heuristics.
In addition, the ideas and techniques in CP systems are useful for all kinds of optimization tasks, so even if there is not actual CP-system used, I think it is worthwhile to use as a way to think about problems.