Intentioneel programmeren (IP)

Intentioneel programmeren (IP), ook wel intentionele software genoemd, is het omzetten van applicatie-intenties in een vorm die door een computer verwerkt kan worden. In deze context bestaan de intenties uit gegevens die de functies en doeleinden definiƫren die de programmeurs voor ogen hebben wanneer zij een toepassing ontwerpen en ontwikkelen. De term wordt geassocieerd met Intentional Software Corporation, met hoofdkantoor in Bellevue, Washington. Het IP-concept is afkomstig van ingenieur Charles Simonyi toen hij voor Microsoft werkte

Het IP-proces begint wanneer een programmeur de beoogde functies en doeleinden van een voorgestelde toepassing definieert in WYSIWYG-formaat (what you see is what you get). Vervolgens gebruikt een geautomatiseerd systeem deze informatie om het eindproduct te genereren. Opeenvolgende wijzigingen worden op WYSIWYG-niveau aangebracht met behulp van een systeem dat domeinwerkbank wordt genoemd.

De meeste programmeertalen geven broncode weer als tekst en geven symbolische namen aan object s, variabele s of taak s. In een complex programma kan het moeilijk zijn om bij te houden welke naam naar welke entiteit verwijst. In IP krijgen alle entiteiten zowel unieke particuliere identificaties als symbolische namen. Telkens wanneer het programma verwijst naar een object, variabele of taak, genereert de identifier automatisch een link naar de oorspronkelijke entiteit. Als de programmeur een entiteit een andere naam geeft, worden alle verwijzingen naar die entiteit op dat moment bijgewerkt. Dit vermindert de kans op fouten die kunnen worden veroorzaakt door menselijke onachtzaamheid of door het handmatig gebruik van de globale zoek-en-vervang functie in een tekstverwerker. Het stroomlijnt ook het proces van versiebeheer.