39 questions · 18 almanac · 0 findings

Programming Languages

The design and history of languages for instructing computers.

Almanac Machines Learn to Read Mathematics
  • What made programming the IBM 704 in assembly language so laborious before FORTRAN?
  • What was John Backus's key idea for a compiler that could translate mathematical notation into machine code?
  • Why were engineers surprised by how efficient the code FORTRAN's compiler produced actually was?
  • How did FORTRAN change who could do scientific computing, from specialist to profession?
Almanac A Language Structured Like an Argument
  • What role did Alan Perlis play in designing ALGOL, and why is it considered the ancestor of languages like Pascal, C, and Java?
  • What did Perlis mean by treating computer science as a discipline rather than a trade?
Almanac Naming a Field That Didn't Exist Yet
  • What made LISP's design unusual, and why did treating code as data matter for symbolic AI?
  • Which programming language features pioneered by LISP spread into later languages?
Almanac A Notation the Skeptics Said Would Never Compile
  • Why were Backus's colleagues skeptical that a compiler could produce machine code efficient enough to replace hand-written assembly?
  • What is Backus-Naur Form, and why did it become essential for formally specifying programming language grammar?
  • What limitation did Backus identify in his Turing Award lecture about FORTRAN-style languages, and why did he think it still mattered decades later?
Almanac Notation Shapes What You Can Think
  • How does APL's array-based approach let one line replace dozens of lines of conventional code?
  • What is the central claim of Iverson's lecture 'Notation as a Tool of Thought'?
  • Why did Iverson originally invent APL as a textbook notation rather than a programming language?
Almanac A Discarded Machine, Rebuilt as Unix
  • What machine did Ken Thompson use to build the first version of Unix, and why was it available to him?
  • Why did Dennis Ritchie invent the C programming language, and how did it make Unix portable across hardware?
Almanac Clarity, Imposed Early Enough
  • What design philosophy did Niklaus Wirth pursue across Euler, ALGOL W, Pascal, and Modula?
  • Why did Pascal become the dominant language for teaching programming for two decades?
Almanac A Foot of Wire, One Nanosecond Long
  • What was Grace Hopper's contribution to the first compiler in 1952?
  • Why did Hopper keep a foot of copper wire on her desk?
  • What role did Grace Hopper play in developing COBOL and how did the Navy respond?
Almanac Write Once, Run (Almost) Anywhere
  • Why was Java originally designed for consumer electronics rather than the web?
  • How does the Java Virtual Machine let the same compiled code run on different processors?
  • What made the World Wide Web the platform where Java actually found its audience?
Almanac Objects, Invented for a Simulated Harbour
  • What problem with simulating ships in a harbor led Dahl and Nygaard to invent the programming language Simula?
  • What is a 'class' in object-oriented programming and how did Simula introduce the concept?
  • How did the ideas in Simula spread into Smalltalk, C++, and Java over the following decades?
Almanac The Grammar Notation Every Compiler Uses
  • What role did Peter Naur play in producing the influential ALGOL 60 report?
  • What is Backus-Naur Form, and how is it used to describe programming language grammar today?
  • Why did Naur receive the Turing Award decades after the work that earned it?
Almanac Teaching the Compiler to Think Ahead
  • What techniques did Frances Allen develop for analyzing programs before they run?
  • What milestone did Allen's Turing Award represent for women in computing?
Almanac Data That Is Defined by What It Does
  • What is an abstract data type, and how did Liskov's language CLU introduce the concept?
  • What does the Liskov Substitution Principle require of a subclass so it can safely replace its parent class?
Almanac A Proof Is Secretly a Program
  • Why did Howard's 1969 note take over a decade to reach publication, and how did it influence programming language theory?