Intentional Programming

E572852

Intentional Programming is a software development paradigm proposed by Charles Simonyi that focuses on capturing programmers’ high-level intentions in a more expressive, domain-specific form than traditional programming languages.

All labels observed (2)

Label Occurrences
Intentional Programming canonical 1
intentional programming 1

How this entity was disambiguated

Statements (45)

Predicate Object
instanceOf programming methodology ⓘ
software development paradigm ⓘ
aimsTo enable domain experts to work closer to the code ⓘ
improve expressiveness of program representation ⓘ
separate intent from implementation details ⓘ
support multiple projections of the same underlying intent ⓘ
allows evolving implementation without changing high-level intent ⓘ
generating different code from the same high-level intent ⓘ
storing programs as structured data rather than text ⓘ
basedOnConcept domain-specific languages ⓘ
intentional representation of code ⓘ
projectional editing ⓘ
contrastsWith general-purpose programming languages ⓘ
traditional text-based programming languages ⓘ
developedAt Microsoft Research ⓘ
developmentStartedIn 1990s ⓘ
documentedIn papers by Charles Simonyi ⓘ
talks and presentations at Microsoft Research ⓘ
emphasizes decoupling of user notation from underlying representation ⓘ
machine-readable, high-level program intent ⓘ
tool support for domain experts ⓘ
focusesOn capturing programmers' high-level intentions ⓘ
domain-specific representations of programs ⓘ
hasApproach render intentions through various projections for different stakeholders ⓘ
store intentions in a database-like repository ⓘ
hasGoal enable long-term evolution of software without losing intent ⓘ
improve maintainability of software systems ⓘ
reduce accidental complexity in software development ⓘ
hasKeyConcept domain-specific abstractions ⓘ
intentional domain ⓘ
intentional editor ⓘ
intentional tree ⓘ
multiple views of the same program ⓘ
separation of concerns between intent and realization ⓘ
influenced Intentional Software Corporation tools ⓘ
projectional language workbenches ⓘ
proposedBy Charles Simonyi ⓘ
relatedTo domain-specific language engineering ⓘ
language workbenches ⓘ
model-driven engineering ⓘ
program synthesis ⓘ
software product lines ⓘ
supports automatic generation of low-level code from intentions ⓘ
custom notations for different domains ⓘ
editing at the level of abstract syntax ⓘ

How these facts were elicited

Referenced by (2)

Full triples — surface form annotated when it differs from this entity's canonical label.

Charles Simonyi → notableWork → Intentional Programming ⓘ
Charles Simonyi → notableIdea → intentional programming ⓘ
linked to: Intentional Programming