With each step, the programmer said more about what they wanted and less about how. Is there a point where saying "what you want" stops being programming?
Hu argues that time sharing turned programmers into "users," made to feel like intimate partners of the computer while the other users on the same machine disappeared from view. Galloway argues that the web works like continuity editing in film: it hides its own apparatus so you never notice the cuts. Each step up the staircase hides more of the machine. Is that progress, or continuity editing? At the top step, programming in English, what is hidden from you?
| Year | What happened | What changed for the programmer |
|---|---|---|
| 1945 | ENIAC is completed | A program is a wiring pattern |
| 1948 | The Manchester Baby runs the first stored program | A program is numbers in memory |
| 1950s | Punch cards and batch processing become standard | A program is a deck of cards you hand in |
| 1952 | Grace Hopper's team builds the A-0 compiler | The machine starts translating for you |
| 1957 | FORTRAN | Write formulas, not machine instructions |
| 1958 to 1959 | LISP and COBOL | Languages for AI research and for business |
| 1961 | Time-sharing demonstrated at MIT | Many users, one computer, feedback in seconds |
| 1964 | BASIC at Dartmouth | Students in any major can program |
| 1968 | NATO conference names "software engineering" | Programming becomes a profession |
| 1979 | VisiCalc, the first spreadsheet | Programmers without the title |
| 1984 | Apple Macintosh | Graphical interface for everyone |
| 1995 | JavaScript | Code that runs in every browser |
| 2008 | GitHub and Stack Overflow | Programming as searching and assembling |
| 2021 | GitHub Copilot | AI suggests the next lines |
| 2022 | ChatGPT | Whole programs from a conversation |
| 2025 | Coding agents | AI writes, runs and fixes code across a project |
ENIAC's first programmers were treated as clerical workers, and the people who built the hardware got the credit. What kind of work in programming today gets treated as "not the real work"?
Wiring ENIAC was like setting up a lab experiment. The investigator designs the experiment and gets the credit. The technician builds the apparatus, calibrates it and makes it run, and is often left out of the main credits in papers. The ENIAC programmers may have had similar status to the technicians in a science lab.
The Baby's programmers thought in bits (0s and 1s) because the switches were bits (on/off 0s/1s). What does today's interface (a text editor, or a chat with an AI) make you think in?
Batch programmers read their code carefully because running it was expensive. Running code costs almost nothing now. What happens to reading?
| Level | What the programmer writes |
|---|---|
| Machine code | 0001 0110 0010 0111 0011 0101 1111 0000 |
| Assembly | LOAD A ; copy A into the register
ADD B ; add B to it
STORE X ; save the result in X
HALT ; stop the program
A: DATA 2 ; the first number
B: DATA 3 ; the second number
X: DATA 0 ; space for the result |
| FORTRAN | X = A + B |
| JavaScript | let x = a + b; |
| English, to an AI model | Add the two numbers and show me the result. |
What does precision mean?
| New way | The criticism | How the skill used changed |
|---|---|---|
| Compilers | Machine-written code will be slow and sloppy | From understanding the machine to describing the problem in programming language |
| Interactive terminals | Without careful planning on paper, programming turns into trial and error | Trying things became a way of thinking |
| Libraries | You won't understand code you didn't write | Choosing, reading and connecting |
| AI models | ? | ? |
Fill in the "?" row of the criticism table for AI models. What is the worry, and where is the skill moving?
Why or when would someone prefer to think more like the machine?
An architect doesn't lay bricks but still has to understand structure. How much do you need to understand about code to judge what an AI hands back? How would you know if you don't know enough?