The mathematician and inventor Charles Babbage wrote 26 programs between 1836 and 1841 for the unfinished "Analytical Engine“ (AE). The code is embedded implicitly in tables summarizing program traces. In this talk, I present the programming architecture of Babbage’s mechanical computer based on the first code written for the machine. The AE had a processor separate from memory, and worked using a kind of dataflow approach. The stream of arithmetical operations was independent from the stream of memory addresses. Special "combinatorial" cards allowed the processor to execute FOR and WHILE loops. Combinatorial cards also allowed independent looping through the stream of memory addresses. Quite sophisticated computations were possible and illustrate why Babbage talked about the possibility of doing "algebra" with his machine. The programs I will discuss predate by several years the account published by Menabrea in 1842 and translated later by Lady Lovelace with notes of her own.
Raúl Rojas González is a professor in the Dept. of Mathematics and Computing from the Free University of Berlin. He is a graduate of the IPN (Mexico), where he got his Bachelor's and Master's degrees in mathematics. Later he performed doctoral studies and obtained the habilitation in Sciences of Computing at the Free University of Berlin. He has written about the history of computing and is the author of the book "The First Computers" (MIT Press, 2000). His articles on the Babbage machine have appeared in journals German and in Annals of the History of Computing. Raúl Rojas was Professor of the Year in 2014 in Germany and is the National Science Award of Mexico in the 2015 cohort.