La programmazione concettuale è uno stile di programmazione del computer, noto anche come paradigma di programmazione, che mira a ricreare i concetti nella mente del programmatore il più fedelmente possibile all’interno del programma stesso. L’idea alla base della programmazione concettuale è che ogni parte del codice dovrebbe significare qualcosa e rappresentare chiaramente quale azione il programmatore vuole che quella parte del codice esegua. Qualsiasi cosa, dal bisogno che un’immagine appaia sullo schermo al voler visualizzare un messaggio di errore quando si verifica un evento, è considerato un concetto. Parti del codice del computer come un punto e virgola che dice a una riga di codice dove finire non sono concetti perché sono lì solo per aiutare il funzionamento del computer e non rappresentano idee dalla mente del programmatore.
Il paradigma della programmazione concettuale non è un linguaggio di programmazione in sé. Piuttosto, è un metodo per valutare altri linguaggi di programmazione per identificare i loro difetti. L’obiettivo finale è rendere il programma del computer fisico il più identico possibile all’idea astratta e originale del programmatore.
Nella programmazione concettuale, il programmatore si concentra sulla semantica e sulla sintassi. La semantica è come ci si aspetta che il programma si comporti e la sintassi è come il programmatore immagina che dovrebbe essere scritto. Ad esempio, in un programma Java il codice A+B potrebbe mostrare l’addizione tra A e B. Questo programma ha una buona sintassi perché ricorda da vicino il concetto di addizione originale del programmatore. Se, tuttavia, durante l’esecuzione il programma crea un errore quando tenta di aggiungere A e B, allora il programma ha una semantica scadente perché non produce il risultato atteso.
Quando si scrive codice basato su tecniche di programmazione concettuale, il programmatore prima determina i concetti di cui il programma ha bisogno per funzionare. Se il programmatore stesse creando una calcolatrice virtuale, ad esempio, probabilmente immaginerebbe i concetti di essere in grado di aggiungere, sottrarre, moltiplicare e dividere. Avrebbe anche immaginato un modo per inserire i dati, come l’uso di una tastiera, e un modo per visualizzare i risultati sullo schermo. Queste idee costituiscono i concetti del programma. Potrebbe anche considerare di che colore e quanto deve essere grande la calcolatrice, ma questi non sono concetti poiché non sono necessari per l’esecuzione dell’applicazione.
Dopo che il programmatore ha finito di mappare i suoi concetti, trova il modo migliore per rappresentare quei concetti nel codice del computer. Cerca di scrivere un codice che corrisponda strettamente alla sua idea in termini di semantica e sintassi. Può usare pezzi di codice preesistente, come A+B, o creare il proprio codice per rappresentare meglio i suoi concetti.
A partire dalla metà del 2011, XL è l’unico linguaggio di programmazione creato sulla base del paradigma di programmazione concettuale. Ha lo scopo di creare regole e sintassi di programmazione flessibili che corrispondano a come pensa un programmatore. Consente ai programmatori di concentrarsi su ciò che vogliono creare invece di preoccuparsi di elementi non concettuali come terminare una riga di codice con un punto e virgola.