Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Conclusion

Programming languages exhibit characteristics of both orality and literacy.

  • Like oral performance, code is inherently contextualized, formulaic, and active.
  • Like literature, it is written, textual, revised, and precise.

They could only have been designed by a literate mind, yet they are not fully subsumed by literature. They are text that acts on the world directly, not by virtue of influencing people.

People who write code employ oral and literary cognitive technologies in addition to entirely new ones that have not been academically analyzed as far as I can tell. Reading Ong alongside Backus, Knuth and Iverson provides anthropological, social, technical, historical and philosophical context for how programming languages came to be, and how we might design new ones.

Debates about programming languages and paradigms are not solely technical disagreements, but reflections of different ways of organizing thought and extending cognition, analogous to the shift from orality to literacy itself. Programming language design is about communication and human cognition. When we design a new language or choose between paradigms, we are not arbitrarily choosing how to give instructions to computers; we are building a cognitive toolbox that shapes how programmers think and how communities coordinate.