A Reading List

October 20, 2025

Here I preset my reading lists (broadly split among a couple categories), mostly to provide as reference. Also includes some notable papers / short stories.

Entries marked with (*) are highly recommended.

Programming, Programming Languages

  • Iverson (1972), Algebra: An Algorithmic Treatment - this covers some the ideas behind APL and similar array languages.
  • Dijkstra (1977), On the foolishness of “natural language programming”
  • Naur (1985), Programming As Theory Building
  • Sussman et al. (1985), Structure and Interpretation of Computer Programs *
  • Pierce (2002), Types and Programming Languages
  • Parse, Don’t Validate

Software & Systems

  • Thompson (1984), Reflections on Trusting Trust
  • Brooks (1986), No Silver Bullet *
  • MapReduce Paper (2004)

Science Fiction

  • Gibson (1984), Neuromancer
  • Card (1985), Ender’s Game(1977) for the short story

    *
  • Card (1986), Speaker for the Dead
  • Banks (1988), Player of Games
  • Banks (1990), Use of WeaponsAll of the culture series is good, these are selected recommendations.

    *
  • Stephenson (1995), The Diamond Age
  • Reynolds (2000), Revelation Space
  • Ted Chiang (2002), Stories of Your Life and Others
  • Stross (2005), Accelerando
  • Watts (2006), Blindsight *
  • Reynolds (2008), House of Suns
  • Reynolds (2016), Beyond the Aquila Rift
  • qntm (2020), Lena
  • qntm (2021), Ra

History of Science, Technology

  • Kuhn (1962), The Structure of Scientific Revolutions
  • Popper (1962), Conjectures and Refutations *
  • Donald MacKenzie (1993) Inventing Accuracy