Pemrograman kendala adalah bentuk pemrograman deklaratif yang menggunakan kendala matematika untuk menentukan bagaimana variabel dalam program berhubungan satu sama lain. Jenis teknik pemrograman ini biasanya berinteraksi dengan jenis teknik pemrograman lainnya, seperti teknik logis dan imperatif. Teknik logis dan imperatif ini melakukan persis apa yang dihindari pemrograman kendala, maju secara logis melalui pernyataan komputasi dan mengeksekusi perubahan. Pemrograman kendala sering dikombinasikan dengan pemrograman logika untuk membentuk pemrograman logika kendala, yang merupakan versi diperpanjang dari pemrograman logika. Pemrograman logika mencakup persyaratan literal dan perbandingan variabel, dan pemrograman logika kendala memperluas ini untuk menyertakan kendala.
Batasan adalah istilah matematika tingkat lanjut, tetapi pada dasarnya adalah kondisi yang harus dipenuhi ketika membuat keputusan. Ini adalah definisi yang sederhana, dan paradigma pemrograman paling baik dipahami ketika pengguna memiliki pemahaman yang kuat tentang matematika. Ketika melihat kendala yang berkaitan dengan pemrograman kendala, kendala memetakan bagaimana variabel dalam program harus berhubungan satu sama lain.
Pemrograman deklaratif adalah paradigma pemrograman yang tidak melibatkan mendikte bagaimana setiap langkah program dilakukan, atau dieksekusi. Alih-alih berfokus pada langkah-langkah, jenis bahasa ini menentukan atau menyatakan hubungan komputasi. Pemrograman kendala adalah jenis pemrograman deklaratif karena logika diungkapkan dan dijelaskan, alih-alih dieksekusi secara sistematis satu langkah pada satu waktu.
Dalam pemrograman komputer, variabel memiliki definisi yang mungkin sedikit berbeda dari definisi matematikanya. Variabel dapat berarti apa saja kecuali program komputer telah mendefinisikan artinya. Sepintas, ketika dikatakan bahwa pemrograman kendala menggunakan kendala untuk menentukan bagaimana variabel harus berhubungan satu sama lain, mungkin terdengar seperti ini tidak cukup untuk menulis seluruh program komputer. Pada kenyataannya, karena variabel pemrograman komputer dapat mencakup jumlah data yang tidak terbatas, mendefinisikan secara spesifik bagaimana mereka harus berhubungan satu sama lain memiliki tingkat kekuatan pemrograman yang sangat tinggi.
Pemrograman kendala adalah paradigma pemrograman, yang berarti menyatakan ide-ide mendasar tentang apa arti hal-hal dasar yang dapat secara radikal berbeda dibandingkan dengan paradigma pemrograman lainnya. Paradigma yang berbeda dapat melakukan hampir semua hal dengan cara yang berbeda dari bahasa lain. Satu bahasa mungkin menggunakan logika sekuensial, sementara yang lain mungkin tidak. Paradigma yang berbeda sering menggunakan blok dasar yang berbeda dari informasi dan hubungan untuk mewakili instruksi. Banyak hal yang mendasar bagi paradigma pemrograman lain, seperti mengeksekusi banyak baris secara berurutan secara logis, tidak digunakan dalam pemrograman kendala.