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.

Try in SPARQL Jump to: Surface forms Statements Referenced by

All labels observed (2)

Label Occurrences
Intentional Programming canonical 1
intentional programming 1

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 NERFINISHED
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 NERFINISHED
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

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
this entity surface form: intentional programming