Code is a way for humans to communicate with computers in order to produce a result.*
* I made this definition up. Literally everything in this lecture is contestable, which we'll talk about more as we continue.
To answer that question we'll look at the history of computing.
The history of computing is a huge topic. I'm streamlining this history based on what I think is relevant to a class about code. Check the class site for a slew of links and book suggestions if you want more history, and more discussion of how the history of computing is complicated and problematic.
On that note, remember that everything in this lecture is contestable. I've done my best to make sure this is all factually correct where possible.
Here we go.
The Analytical Engine incorporated an arithmetic logic unit, control flow in the form of conditional branching and loops, and integrated memory, making it the first design for a general-purpose computer that could be described in modern terms as Turing-complete.
Ada Lovelace - 1833
Ada Lovelace - 1833
Ada Lovelace - 1833
The operating mechanism can even be thrown into action independently of any object to operate upon (although of course no result could then be developed). Again, it might act upon other things besides number, were objects found whose mutual fundamental relations could be expressed by those of the abstract science of operations, and which should be also susceptible of adaptations to the action of the operating notation and mechanism of the engine. Supposing, for instance, that the fundamental relations of pitched sounds in the science of harmony and of musical composition were susceptible of such expression and adaptations, the engine might compose elaborate and scientific pieces of music of any degree of complexity or extent.
Allan Turing proposes the idea of a Turing machine
PowerPoint is Turing Complete
Around the same time in England, Colossus, a series of computers specifically designed to do codebreaking was created. Powerful and used vacuum tubes, but technically not Turing complete, having been designed to solve specific problems.
Also, the Z3 was a German electromechanical computer designed by Konrad Zuse in 1935, and completed in 1941. It was the world's first working programmable, fully automatic digital computer. The Z3 was built with 2,600 relays, implementing a 22-bit word length that operated at a clock frequency of about 4–5 Hz. Program code was stored on punched film.
For more on this, read PROGRAMMING THE ENIAC: AN EXAMPLE OF WHY COMPUTER HISTORY IS HARD By Leonard J. Shustek
Direct precursor of COBOL
Grace Hopper