Kısıt programlama, program içindeki değişkenlerin birbirleriyle nasıl ilişkili olduğunu tanımlamak için matematiksel kısıtlamaları kullanan bir bildirimsel programlama biçimidir. Bu tip programlama teknikleri tipik olarak mantıksal ve zorunlu teknikler gibi diğer programlama teknikleri ile etkileşime girer. Bu mantıksal ve zorunlu teknikler tam olarak kısıtlama programlamanın önlediği, hesaplama ifadeleriyle mantıksal olarak ilerleyen ve değişikliklerin gerçekleştirildiği işlemleri yapar. Kısıt programlama, mantık programlamanın genişletilmiş bir sürümü olan kısıt mantık programlama oluşturmak için genellikle mantık programlaması ile birleştirilir. Mantıksal programlama değişmez gereksinimleri ve değişkenlerin karşılaştırılmasını içerir ve kısıtlama mantık programlama bunu kısıtlamaları içerecek şekilde genişletir.
Kısıtlama, ileri bir matematiksel terimdir, ancak temelde bir karar verirken yerine getirilmesi gereken bir koşuldur. Bu basit bir tanımdır ve programlama paradigması en iyi, bir kullanıcı matematiğin sağlam bir kavrayışına sahip olduğunda anlaşılır. Kısıtlama programlamasıyla ilgili kısıtlamalara bakarken, kısıtlamalar programdaki değişkenlerin birbirleriyle nasıl ilişkili olması gerektiğini belirler.
Bilgilendirici programlama, bir programın her bir adımının nasıl yürütüldüğünü veya yürütüldüğünü belirlemeyi içermeyen bir programlama paradigmasıdır. Basamaklara odaklanmak yerine, bu tür diller hesaplamalı ilişkileri belirtir veya beyan eder. Kısıtlama programlama bir tür bildirimsel programlamadır, çünkü mantık her seferinde bir adımda yerine sistematik olarak yerine ifade edilir ve açıklanır.
Bilgisayar programlamasında değişkenler matematiksel tanımlarından biraz farklı olabilen bir tanımlamaya sahiptir. Değişken, bir bilgisayar programı anlamını tanımlamadığı sürece bir şey ifade edebilir. İlk bakışta, kısıtlama programlamanın, değişkenlerin birbirleriyle nasıl ilişkili olması gerektiğini tanımlamak için kısıtlamalar kullandığı söylendiğinde, bunun gibi bir bilgisayar programının tamamını yazmak için yeterli olmayabilir. Gerçekte, bilgisayar programlama değişkenleri sınırsız miktarda veri içerebildiğinden, birbirleriyle nasıl ilişki kurmaları gerektiğinin özelliklerini tanımlayan çok yüksek bir programlama gücü seviyesi vardır.
Kısıtlama programlama, bir programlama paradigmasıdır; bu, diğer programlama paradigmalarına kıyasla radikal olarak farklı olabilecek temel şeylerin ne anlama geldiğiyle ilgili temel fikirleri ifade eder. Farklı paradigmalar hemen hemen her şeyi başka bir dilden farklı bir şekilde yapabilir. Bir dil ardışık mantık kullanabilir, diğeri ise olmayabilir. Farklı paradigmalar genellikle talimatları göstermek için farklı temel bilgi blokları ve ilişkileri kullanır. Mantıksal olarak birçok çizgiyi mantıksal olarak yürütmek gibi diğer programlama paradigmaları için temel olan birçok şey kısıt programlamada kullanılmaz.


