&gt; Constraint programming allows you to write the specification of your program<p>This captures the core idea from my brushes with various constraint based programming languages. There&#x27;s nearly always a spec floating around somewhere, it&#x27;s really a question of how expressive your constraint language is. Even programs in &quot;higher level&quot; languages can be seen as a (rather complex) set of constraints.