To the brain, reading computer code is not the same as reading language (2020)
Programming languages vs. natural language
- Ongoing debate over whether “language” is a misnomer for programming languages; some see them more as specifications/notations than true languages.
- Others argue programming languages fit standard definitions of language: structured grammar, vocabulary, and use for communication (with humans and machines).
- Several note that many linguistic formalisms (e.g., formal grammars) came from attempts to model natural language and were later applied to PLs.
- Visual programming and CAD/floor plans are discussed as “borderline” cases: they communicate with rules and symbols but aren’t usually labeled languages.
How reading code feels
- Many compare reading code to doing math, solving puzzles, or inspecting a mechanical system (e.g., meshed gears), not to reading prose.
- People report different modes:
- “Story mode”: skimming for gist and intent.
- “Execution mode”: mentally simulating control flow and state.
- “Structural mode”: scanning vertically like an AST or diagram.
- Several say reading unfamiliar code is cognitively heavy because it requires holding many interacting pieces in working memory; interruptions are especially costly.
Code as communication and organization
- Some emphasize that good programmers write primarily for human readers; poor naming and lack of documentation make later understanding painful.
- Others prioritize “coding zone” speed and postpone communication/documentation to specific phases.
- Literate programming resurfaces as a theme: ordering code as a narrative (top‑down, explanations first, definitions later), potentially combined with modern tools and LLMs.
Interpretation of the neuroscience results
- Many find it intuitive that code does not engage classic language regions; it feels more like math/logic, spatial reasoning, or planning.
- Some wonder how results change with:
- Very experienced programmers.
- Familiar vs. unfamiliar codebases.
- Different paradigms (functional vs. OO, visual vs. textual).
- Highly formal legal/contract text, which may resemble code.
Skepticism and limitations
- Concerns raised about fMRI in general: need for proper calibration, multiple-comparisons correction, and replication.
- Some question the study’s task design (predicting code output) as only one aspect of “understanding code.”
- Comparisons to language may be confounded by participants having decades of natural-language experience but relatively little programming experience.