Kontseptsioonprogrammeerimine on arvutiprogrammeerimise stiil, tuntud ka kui programmeerimisparadigma, mille eesmärk on luua programmeerija meeles olevad mõisted võimalikult täpselt programmi enda sees. Kontseptsiooniprogrammeerimise idee seisneb selles, et iga koodiosa peaks midagi tähendama ja selgelt näitama, millist toimingut programmeerija soovib, et see koodiosa täidaks. Kontseptsiooniks loetakse kõike alates vajadusest pildi ekraanile ilmumiseks kuni soovini, et sündmuse toimumisel kuvataks veateade. Arvutikoodi osad, nagu semikoolon, mis ütleb koodireale, kus lõpeb, ei ole mõisted, kuna need on olemas ainult selleks, et aidata arvutil funktsioneerida ega esinda programmeerija mõtteid.
Kontseptsiooniprogrammeerimise paradigma ei ole programmeerimiskeel ise. Pigem on see meetod teiste programmeerimiskeelte hindamiseks, et tuvastada nende puudused. Lõppeesmärk on muuta füüsiline arvutiprogramm võimalikult identseks programmeerija algse, abstraktse ideega.
Kontseptsiooniprogrammeerimisel keskendub programmeerija semantikale ja süntaksile. Semantika on see, kuidas programm peaks käituma, ja süntaks on see, kuidas programmeerija arvab, et see tuleks kirjutada. Näiteks Java programmis võib kood A+B näidata liitmist A ja B vahel. Sellel programmil on hea süntaks, kuna see sarnaneb väga programmeerija algse liitmise kontseptsiooniga. Kui aga programm tekitab käivitamisel vea A ja B lisamisel, siis on programmi semantika kehv, kuna see ei anna oodatud tulemust.
Kui kirjutate koodi kontseptsiooni programmeerimise tehnikate põhjal, määrab programmeerija esmalt mõisted, mida programm vajab toimimiseks. Kui programmeerija loob näiteks virtuaalse kalkulaatori, kujutaks ta tõenäoliselt ette liitmise, lahutamise, korrutamise ja jagamise kontseptsioone. Ta kujutaks ette ka mingit võimalust andmete sisestamiseks, näiteks klaviatuuri abil, ja viisi, kuidas tulemusi ekraanil vaadata. Need ideed moodustavad programmi kontseptsioonid. Ta võib ka kaaluda, mis värvi ja kui suur peaks kalkulaator olema, kuid need pole mõisted, kuna need pole rakenduse käitamiseks vajalikud.
Pärast seda, kui programmeerija on oma kontseptsioonide kaardistamise lõpetanud, leiab ta parima viisi nende kontseptsioonide esitamiseks arvutikoodis. Ta püüab välja kirjutada koodi, mis vastab semantika ja süntaksi poolest täpselt tema ideele. Ta võib kasutada juba olemasoleva koodi tükke, näiteks A+B, või luua oma kontseptsioonide paremaks esindamiseks oma koodi.
2011. aasta keskpaiga seisuga on XL ainus programmeerimiskeel, mis on loodud kontseptsiooni programmeerimise paradigma alusel. Selle eesmärk on luua paindlikud programmeerimisreeglid ja süntaks, mis vastavad programmeerija mõtteviisile. See võimaldab programmeerijatel keskenduda sellele, mida nad tahavad luua, selle asemel, et muretseda mittekontseptsiooniliste üksuste pärast, nagu koodirea lõpetamine semikooloniga.