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