Semantic density: Difference between revisions

Jump to navigation Jump to search
15 bytes added ,  14:38, 28 May 2020
m
Mark as an essay, as it's mainly Stephen Taylor writing about his own term. If we want an article on the concept, it should be a new page.
Miraheze>Adám Brudzewsky
No edit summary
m (Mark as an essay, as it's mainly Stephen Taylor writing about his own term. If we want an article on the concept, it should be a new page.)
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''Semantic density''' is a ''metric'' of the readability of a program by a non-programming domain expert.
Semantic density is a ''metric'' of the readability of a program by a non-programming domain expert.


Programs work with ''representations'' of some domain. Every program must thus be read in two ways:
Programs work with ''representations'' of some domain. Every program must thus be read in two ways:
Line 26: Line 26:
* assigning names only once; homonyms are confusing enough in natural languages;
* assigning names only once; homonyms are confusing enough in natural languages;
* naming only objects that correspond to terms in the reader's vocabulary;
* naming only objects that correspond to terms in the reader's vocabulary;
* using (in Dyalog, NARS2000, ngn/apl, dzaima/APL, GNU APL) anonymous [[dfns]] (lambdas) to avoid assigning other names;
* using (in Dyalog, NARS2000, ngn/apl, dzaima/APL, GNU APL) anonymous [[dfn]]s (lambdas) to avoid assigning other names;
* using [[tacit programming]] (in Dyalog, NARS2000, ngn/apl, dzaima/APL) to avoid using argument names in expressions.
* using [[tacit programming]] (in Dyalog, NARS2000, ngn/apl, dzaima/APL) to avoid using argument names in expressions.


Line 36: Line 36:
* [http://archive.vector.org.uk/art10009900 Pair Programming With The Users] by Stephen Taylor, ''Vector'' 22:1   
* [http://archive.vector.org.uk/art10009900 Pair Programming With The Users] by Stephen Taylor, ''Vector'' 22:1   
Why write specifications when you can collaborate with the users on executable code? Introduces the concept of 'semantic density' in constructing Domain-Specific Notations.
Why write specifications when you can collaborate with the users on executable code? Introduces the concept of 'semantic density' in constructing Domain-Specific Notations.
[[Category:Essays]]

Navigation menu