<- Dijkstra-Breakthroughs



Mathematical Center Amsterdam (1953 - 1963)

Descriptions of concepts


Freedom at the Mathematisch Centrum


[1953, MC Amsterdam, Edsger Dijkstra, B.J. Loopstra and Dijkstra's future wife Ria Debets (Picture taken by Gerrit Blaauw).]

Without any knowledge of Zuse’s Plannkalküll (1946) or the work of Hopper, Dijkstra started his programming career by rewriting the programming mutations and input programs Van Wijngaarden had written. Van Wijngaarden allowed him to do it. These programs had been developed for MC’s first computer, the ARRA I, an in house development project by C.S. Scholten and J. Loopstra.

[Zeeland Delta Project]

The Computing Department of the MC worked day and night to solve the numerous problems connected with the large scale projects that were developed in The Netherlands, like the DELTA project for the safety of the Zeeland province, containing the truly gigantic Haringvlietsluizen-complex.

[Delta Project, Haringvliet sluices]

Another major project was the development of the Fokker Friendship aircraft , with its wing flutter calculations, that demanded the maximum of MC 's capacity.

In 1953, Gerrit Blaauw joined the MC team. First the ARRA II was constructed and because of the reliability of this machine Fokker Aircraft Corporation ordered a similar computer, called the FERTA. This FERTA was twice as fast as the ARRA II and had a different type of coding. For both these machines Dijkstra developed the software, as well as for its 1956 successor: the ARMAC, the last computer developed for the MC.

[ARMAC, 1956]

After the completion of the FERTA Gerrit Blaauw went to work for IBM, Poughkeepsie, USA, where he would work on the development of the IBM 7030, the "Stretch" and eventually design and build the IBM System 360.

A new challenge: Electrologica

Because developments of large scale calculating machines was an ongoing process the preparations for a further computer had already been finished by Dijkstra, Scholten and Loopstra when the MC management and Life Insurance Company Nillmij decided to establish an independent company for the production of commercial computers: Electrologica, in 1956.

[Electrologica X1, 1957]

Therefore, Electrologica could immediately start with a brand new machine: the Electrologica X1.


A brand new computer language...ALGOL

In these years between 1952 and 1956, programming saw an evolution, partly because the ever growing complexity of the systems ordered a more structured operating system, and partly because the scientific, mathematical approach of programming produced an ever clearer insight in how the job could be done efficiently. Remarkable in this process was Dijkstra’s discovery of the Shortest Path Algorithm. Because this evolution was a worldwide happening, with worldwide contributors, slowly the basis for a scientific computer language was laid: ALGOL was soon to be born.

In 1958, Edsger Dijkstra represented the Dutch MC at the November Conference in Mainz, a preparatory conference for defining the specifications of ALGOL In December 1959 ALGOL 60 was defined. In the words of Dijkstra: "…A miracle was performed by simple mortals…". Finally, the APRIL 1962 Rome convention agreed upon most of the specifications, and in August, 1962 IFIP, the International Federation on Programming Languages reviewed the report, and approved of it.

As early as January 1960, after ALGOL 60 had been defined, the Mathematical Center started courses in Programming in ALGOL 60, at first in Holland, and, in 1961, also at Brighton, England. This really was the start of a new discipline of the MC: programming education.

Descriptions of concepts

Operating Systems:

Mutual exclusion (1960 - 1965)


Semaphores (1960 - 1965)

Graph Algorithm:

Shortest Path (1959)

Programming Languages:

Algol 60 (1959 - 1960)


Expression Evaluation (1959)


Recursive Procedure Call


Dijkstra Display (1959)


[Source: http://www.digidome.nl/edsger_wybe_dijkstra.htm]



Topics for stage: Mathematical center Amsterdam

Topics Documents
Algol 60 MR35 Algol60 Translation (application/pdf)
Concurrent Programming EWD123 (application/pdf)
Deadlock or Deadly Embrace EWD310 Hierarchical Ordering of Sequential Processes (application/pdf)
EWD123 (application/pdf)
Interprocess Communication EWD123 (application/pdf)
Layered Architecture EWD310 Hierarchical Ordering of Sequential Processes (application/pdf)
Mutual Exclusion EWD123 (application/pdf)
Operating Systems EWD310 Hierarchical Ordering of Sequential Processes (application/pdf)
EWD123 (application/pdf)
Programming Languages MR35 Algol60 Translation (application/pdf)
EWD123 (application/pdf)
Semaphores EWD310 Hierarchical Ordering of Sequential Processes (application/pdf)
EWD123 (application/pdf)

<- Dijkstra-Breakthroughs

Home  |  Top  |  Search  |  Gallery  | Glossary  | Sitemap  |  Guestbook  |  Making Of  |  Help