Papers I liked

Papers I liked

  • The Synthesis of Algorithmic Systems by Alan J. Perlis Historical curiosity from the era where software was just beginning to emerge as a serious object of study, in which Perlis outlines a vague vision of future programming UX that is more flexible, interactive, general, and high-level. Shortly after this lecture, some of these ideas—portability, metaprogramming, interpretation, first-class functions, syntax for parallel and distributed control flow, facilities for implementing new data structures, and formal semantics of PL—were formalized and accomplished and now form the basis of the field of programming languages (think Java, C++ templating, ML, CSP and its successors, and ISWIM); while those that weren’t formalized—liveness, interactivity, syntax variation—were essentially forgotten, at least in the mainstream. Racket, Clojure, and Smalltalk carry on some of his vision; experimental research projects carry on others. Funny how we can never tell what will be solved in a handful of years and what will elude us for over half a century. Reading old lectures where the formalisms are still in flux has the wonderful effect of unmooring the imagination, inviting one to dream differently and question foundational assumptions. I highly recommend it.
  • Do Artifacts Have Politics? by Langdon Winner
  • The Next 700 Programming Languages by Peter Landin
  • As We May Think by Vannevar Bush - speculative precursor to hypertext and the web
  • A Relational Model of Larged Shared Data Banks by Edgar Codd - invention of relational databases and precursor to SQL
  • Communicating Sequential Processes by Tony Hoare
  • The Varieties of Programming Language by Tony Hoare
  • Digging for Fold: Synthesis-Aided API Discovery for Haskell by James et al
  • The Early History of Smalltalk by Alan Kay