History tends to remember those who had a huge impact on something. In computer science we remember Dijkstra because he was sometimes outspoken, colourful, and contributed to the move from spaghetti to structured programming. However there are many lesser known computer scientists who played pivotal roles in the evolution of programming languages. I feel this is sometimes because people feel that computer science evolved in the US or the UK, and few look to the pioneering work which was done in places like Germany, Switzerland, and the Netherlands. Perhaps because of the dominance of IBM, the overwhelming reach of languages such as Fortran, and Cobol?
Heinz Rutishauser (1918-1970) was a Swiss mathematician and computer scientist. In 1949 he was working at the Institute for Applied Mathematics at ETH (Zurich), and spent a year in the US studying the state of the art in computing. On returning in December 1949, he began work using a Z4 leased from Konrad Zuse. In March 1951, Rutishauser gave a lecture titled “Automatische Rechenplanfertigung bei programmgesteuerten Rechenmaschinen”, based on the idea of the idea of using the computer to write its own program . This work dealt with the translation of a mathematical formula into a program using Superplan, a “programming program”.
Superplan had a for loop, 1D arrays, but no if, goto or I/O statements. It allowed for the evaluation of simple formulae. The addition of a for loop (für in German) was a pivotal development in programming languages, as even Fortran lacked this (it had DO). Some of the concepts in Superplan would later surface in Algol. Rutishauser was one of the architects of Algol 58 and later Algol 60. In his later years he worked on the description of standardized numerical algorithms in ALGOL 60. Rutishauser also developed the LR algorithm (1958), the precursor to the QR algorithm used to matrix eigenvalues and eigenvectors.
 Rutishauser, H., “Automatische Rechenplanfertigung bei programmgesteuerten Rechenmaschinen”, Zeitschrift für angewandte Mathematik und Physik (Journal of Applied Mathematics and Physics), 3(4), pp.312-313 (1952)