- 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?
Programming Languages
The design and history of languages for instructing computers.
- 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?
- 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?
- How did Rabin and Scott's result seed later work on regular expressions and the P versus NP problem?
- 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?
- 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?
- 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?
- 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?
- What is type inference, and how did the ML language introduce it?
- 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?
- 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?
- Roughly how much did governments and companies spend worldwide on Y2K remediation?
- 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?
- 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?
- What techniques did Frances Allen develop for analyzing programs before they run?
- What milestone did Allen's Turing Award represent for women in computing?
- 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?
- What theoretical foundations did Aho and Ullman provide for compiler design at Bell Labs?
- Why did Howard's 1969 note take over a decade to reach publication, and how did it influence programming language theory?