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.