Wat is conceptprogrammering?
Conceptprogrammering is een stijl van computerprogrammering, ook bekend als een programmeerparadigma, dat tot doel heeft de concepten in de geest van de programmeur zo dicht mogelijk bij het programma zelf te maken. Het idee achter conceptprogrammering is dat elk deel van de code iets moet betekenen en duidelijk moet weergeven welke actie de programmeur dat deel van de code wil laten uitvoeren. Alles van het nodig hebben van een afbeelding om op het scherm te verschijnen of het willen weergeven van een foutmelding wanneer een gebeurtenis plaatsvindt, wordt als een concept beschouwd. Delen van computercode, zoals een puntkomma die een regel code aangeeft waar het moet eindigen, zijn geen concepten omdat ze er alleen zijn om de computer te helpen functioneren en geen ideeën uit de geest van de programmeur vertegenwoordigen.
Het paradigma van conceptprogrammering is zelf geen programmeertaal. Het is eerder een methode om andere programmeertalen te evalueren om hun fouten te identificeren. Het uiteindelijke doel is om het fysieke computerprogramma zo identiek mogelijk te maken aan het oorspronkelijke, abstracte idee van de programmeur.
In conceptprogrammering richt de programmeur zich op semantiek en syntaxis. Semantiek is hoe het programma zich naar verwachting zal gedragen en syntaxis is hoe de programmeur denkt dat het moet worden geschreven. In een Java-programma kan de code A + B bijvoorbeeld een toevoeging tussen A en B weergeven. Dit programma heeft een goede syntaxis omdat het sterk lijkt op het oorspronkelijke concept van toevoeging van de programmeur. Als het programma echter bij uitvoering een fout maakt bij het toevoegen van A en B, heeft het programma een slechte semantiek omdat het niet het verwachte resultaat oplevert.
Bij het schrijven van code op basis van conceptprogrammeringstechnieken bepaalt de programmeur eerst de concepten die het programma nodig heeft om te functioneren. Als de programmeur bijvoorbeeld een virtuele rekenmachine zou maken, zou ze zich waarschijnlijk de concepten voorstellen van het kunnen optellen, aftrekken, vermenigvuldigen en delen. Ze zou zich ook een manier voorstellen om de gegevens in te voeren, zoals het gebruik van een toetsenbord, en een manier om de resultaten op het scherm te bekijken. Deze ideeën vormen de concepten van het programma. Ze zou ook kunnen overwegen welke kleur en hoe groot de rekenmachine zou moeten zijn, maar dit zijn geen concepten, omdat ze niet nodig zijn om de toepassing uit te voeren.
Nadat de programmeur klaar is met het in kaart brengen van haar concepten, vindt ze de beste manier om die concepten in de computercode weer te geven. Ze wil code schrijven die nauw aansluit bij haar idee in termen van semantiek en syntaxis. Ze kan stukken bestaande code gebruiken, zoals A + B, of haar eigen code maken om haar concepten beter weer te geven.
Vanaf medio 2011 is XL de enige programmeertaal die is gemaakt op basis van het concept-programmeerparadigma. Het beoogt flexibele programmeerregels en syntaxis te creëren die overeenkomen met hoe een programmeur denkt. Hiermee kunnen programmeurs zich concentreren op wat ze willen maken in plaats van zich zorgen te maken over niet-conceptitems zoals het beëindigen van een coderegel met een puntkomma.