Secondary notation — whitespace, naming, colour — carries meaning for human programmers that the interpreter discards
In the Psychology of Programming, secondary notation refers to notational features of source code beyond formal syntax: spatial layout, variable naming conventions, colour highlighting, comments. These are invisible to the compiler but crucial to human comprehension. Remove all whitespace from a C program and the parser still accepts it; a human cannot. Source code is therefore an amalgam of two symbol systems — one for the machine, one supporting visuospatial human cognition. For live coders working under time pressure, secondary notation choices have direct impact on legibility and speed of editing during performance.
Examples
Python’s syntactically significant indentation forces secondary notation into primary syntax; C lets programmers choose layout freely. Ruby’s convention of ending destructive methods with ! is secondary notation not enforced by the parser but widely relied upon by programmers.
Assessment
Rewrite a short code fragment stripping all secondary notation. What information is lost, and for whom? Identify two secondary notation choices a live coder should make to support audience legibility of projected code.