La programación de conceptos es un estilo de programación de computadoras, también conocido como paradigma de programación, que tiene como objetivo recrear los conceptos en la mente del programador lo más cerca posible dentro del programa mismo. La idea detrás de la programación de conceptos es que cada parte del código debe significar algo y debe representar claramente qué acción el programador quiere que realice esa parte del código. Cualquier cosa, desde necesitar que aparezca una imagen en la pantalla hasta querer que se muestre un mensaje de error cuando ocurre un evento, se considera un concepto. Partes del código de computadora, como un punto y coma que le dice a una línea de código dónde terminar, no son conceptos porque están ahí solo para ayudar a la computadora a funcionar y no representan ideas de la mente del programador.
El paradigma de la programación conceptual no es un lenguaje de programación en sí mismo. Más bien, es un método para evaluar otros lenguajes de programación para identificar sus fallas. El objetivo final es hacer que el programa informático físico sea lo más idéntico posible a la idea abstracta original del programador.
En la programación de conceptos, el programador se centra en la semántica y la sintaxis. La semántica es cómo se espera que se comporte el programa y la sintaxis es cómo el programador imagina que debe escribirse. Por ejemplo, en un programa Java, el código A + B puede mostrar una suma entre A y B. Este programa tiene una buena sintaxis porque se parece mucho al concepto original de suma del programador. Sin embargo, si durante la ejecución el programa crea un error al intentar agregar A y B, entonces el programa tiene una semántica deficiente porque no produce el resultado esperado.
Al escribir código basado en técnicas de programación de conceptos, el programador primero determina los conceptos que el programa necesita para funcionar. Si el programador estuviera creando una calculadora virtual, por ejemplo, probablemente imaginaría los conceptos de poder sumar, restar, multiplicar y dividir. También imaginaría alguna forma de ingresar los datos, como usar un teclado, y una forma de ver los resultados en la pantalla. Estas ideas conforman los conceptos del programa. También podría considerar qué color y qué tamaño debería tener la calculadora, pero estos no son conceptos ya que no son necesarios para que la aplicación se ejecute.
Una vez que el programador termina de trazar sus conceptos, encuentra la mejor manera de representar esos conceptos en el código de la computadora. Ella busca escribir un código que se asemeje mucho a su idea en términos de semántica y sintaxis. Puede usar fragmentos de código preexistente, como A + B, o crear su propio código para representar mejor sus conceptos.
A mediados de 2011, XL es el único lenguaje de programación creado en base al paradigma de programación conceptual. Su objetivo es crear reglas y sintaxis de programación flexibles que coincidan con la forma de pensar de un programador. Permite a los programadores concentrarse en lo que quieren crear en lugar de preocuparse por elementos que no son conceptos, como terminar una línea de código con un punto y coma.