120
edits
Miraheze>Adám Brudzewsky No edit summary |
m (5 revisions imported: Migrate from miraheze) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
Semantic | '''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 | * 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. | ||