ALGOL
The birth of ALGOL (ALGOrithmic Language) dates back to the late 1950s. This language resulted from a shared vision among European and American researchers: to create a universal tool for expressing algorithms independently of machines. At a symposium in Darmstadt in 1955, this idea took root in discussions among automatic computation specialists.
The technological context of the era fully justified this approach. In the United States, computing was transforming into an industrial sector with IBM and other manufacturers marketing their first computers. A multitude of specific languages flourished according to needs and teams. Europe, meanwhile, saw the birth of its first large machines dedicated primarily to scientific calculations.
The GAMM (Gesellschaft für Angewandte Mathematik und Mechanik) and the ACM (Association for Computing Machinery) decided in 1957 to form working groups on this common language. The Zurich meeting in 1958 resulted in the merger of European and American proposals under the name IAL (International Algebraic Language), later renamed ALGOL 58.
In 1959, John Backus made a breakthrough by inventing a formal notation for describing programming language syntax. This Backus-Naur Form (BNF) replaced imprecise natural language descriptions with a rigorous definition. Peter Naur perfected this notation and integrated it into the definition of ALGOL 60, thus laying the groundwork for a now-classic method.
ALGOL 60 distinguished itself through several innovations: code blocks with their own lexical scope, recursive procedures, parameters passed by name or by value. Its mathematical rigor was evident in the requirement to declare data types. Control structures such as the for loop achieved an unprecedented level of elegance and clarity.
This new approach stimulated research on compilation techniques. Friedrich Bauer and Klaus Samelson published their method for sequential translation of formulas in 1960, while Edsger Dijkstra achieved the feat of developing an ALGOL 60 compiler in just ten months.
Computer science theory was enriched through ALGOL. Seymour Ginsburg and Gordon Rice established a connection in 1962 between languages defined by BNF and Chomsky’s linguistic work on context-free grammars. This convergence between computer science and linguistics fostered the emergence of theoretical computer science.
ALGOL’s influence reached the academic world. Scientific journals adopted it for algorithm publication, notably in the “Algorithms” section of Communications of the ACM from 1960 onward. European universities made it their preferred teaching language.
Despite these successes, ALGOL struggled to establish itself against FORTRAN in the commercial world. This paradox can be explained by the absence of a major industrial player to support it, the lack of standard libraries for input-output operations, and the inertia related to existing FORTRAN programs. Europe, less dependent on this legacy, adopted it more widely, particularly in Germany where the government integrated it into university systems.
From 1962 onward, responsibility for ALGOL’s development fell to Working Group 2.1 of IFIP (International Federation for Information Processing). Work on a successor resulted in ALGOL 68, a more complete but also more complex language. Its definition sparked heated controversies within the group, to the point that in 1969, nearly half the members published a “Minority Report” expressing their disagreement.
ALGOL inspired Pascal, Simula (precursor to object-oriented programming), and Ada. Its fundamental concepts—structured blocks, lexical scope, recursion—became essential references. BNF notation remains today the standard method for defining programming language syntax.
ALGOL testifies to the maturation of computer science as a scientific discipline. It transformed programming from a craft practice into a formalized activity. Its mathematical vision shaped 20th-century computational thinking. While its commercial success was limited, its intellectual influence has shaped generations of languages and programmers.