Drie lezers van Computable.nl geven op persoonlijke titel hun mening over de uitgave 'The dawn of software engineering. From Turing to Dijkstra' (uitgeverij Lonely Scholar). Hierin vraagt auteur Edgar G. Daylight zich af of het beeld wel klopt dat Alan Mathison Turing (1912-1954) als de vader van de universele computer kan worden beschouwd. Lag zijn invloed niet meer op het terrein van het programmeren?
Leen Blom, coördinator r&d, met name software-ontwikkeling, bij Centric
Ik schrijf deze recensie van ‘The dawn of software engineering. From Turing to Dijkstra’ in de week dat Alan Turing (1912-1954) werd gerehabiliteerd tot held van de geallieerde wereld in de Tweede Wereldoorlog. In 1952 werd hij als homo veroordeeld voor ontucht, wat mogelijk indirect leidde tot zijn zelfmoord in 1954.
Het genoemde boek, geschreven door Edgar G. Daylight, PhD in software engineering, gaat in op de vraag in hoeverre Turing gezien mag worden als de grondlegger van de moderne computer en of ingenieurs en wetenschappers zijn beïnvloed door zijn paper uit 1936: ‘On Computable Numbers’.
De introductie zet deze vragen direct al op scherp en dat maakt dat je je afvraagt wat er verder nog in het boek te vinden is. Gelukkig zijn de volgende hoofdstukken dermate informatief dat ik blij was na de introductie doorgelezen te hebben. Wel lijkt het soms alsof de schrijver zich verplicht voelt om de historie recht te zetten, terwijl ik me als lezer van de blijkbare onwaarheden niet bewust was.
Het boek beschrijft de periode 1930 tot 1962 en in de interviews met de onderzoekers Tony Hoare, Barbara Liskov, Niklaus Wirth en Peter Naur komen ook de jaren ’70 aan de orde. Grofweg bestaat deze periode uit de ontwikkeling van de idee van de universal computer tot het ontstaan van de programmeertaal Algol60.
De universal computer wordt voornamelijk aan Turing toegeschreven vanwege Turings eigen biograaf Andrew Hodges. De schrijver van het boek laat zien dat vooral anderen zich bezig hielden met deze universal computer, een echte ingenieursuitdaging, en toont aan dat deze zich nauwelijks bewust waren van het werk van Turing. Wel is de invloed van Turing zichtbaar in de tak van de software engineering, vandaar de hoofdtitel van het boek.
Edsger Dijkstra (1930 – 2002), wiskundige en informaticus, zette zich als eerst in voor generalisatie in plaats van specialisatie. Hij vond een eenvoudige en elegante programmeertaal om een probleem in te beschrijven belangrijker dan een voor een computer efficiënte taal. Een aantal ideeën die ook Turing al had beschreven introduceert hij in wat later Algol wordt: een generieke stack en recursie. Let op: de schrijver toont aan dat hij zich slechts zijdelings heeft laten beïnvloeden door Turing!
Het boek is een must voor moderne software-ontwikkelaars, het niveau is echter hoog, een achtergrond in software engineering is bijna noodzakelijk.
Mike van Straten, consultant, Ratio Consultants
Edgar G. Daylight is een onderzoeker die zich richt op de beginperiode van het computertijdperk. In dit Engelstalige boek beschrijft hij de invloed van Alan Turing, een van de eerste informatici. Turing was in de Tweede Wereldoorlog betrokken bij het kraken van de codes van de Duitse Enigma. In 1936 schreef hij een publicatie, waarin hij de Turing-machine introduceerde, een prototype van de computer. Hij bewees met behulp van deze fictieve machine dat er geen programma bestaat, dat kan bepalen of een wiskundige stelling een bewijs heeft. Deze publicatie geeft aan wat berekenbaar is en wat niet.
Daylight toont aan dat de publicatie nauwelijks van invloed is geweest op de eerste computerbouwers, maar wel zeer belangrijk was voor de eerste softwarepioniers. Een van deze pioniers was Edsger W. Dijkstra, voormalig hoogleraar aan de Technische Hogeschool Eindhoven. Hij heeft veel invloed gehad op de ontwikkeling van programmeertalen en besturingsystemen (operating systems). Hij maakte deel uit van de groep die de taal Algol60 ontwierp. Een taal die vele nieuwe begrippen introduceerde en beschouwd mag worden als de grootmoeder van de moderne programmeertalen. Het was de eerste taal met een formele grammatica, waarin beschreven stond welke statements waren toegestaan. Peter Naur was, samen met John Backus, een van de ontwerpers hiervan.
Dijkstra ageerde tegen de ‘goto’ statement, die toen zeer veel gebruikt werd in talen als Fortran. Dit leidde volgens hem tot nauwelijks onderhoudbare programma’s, die vol zaten met fouten. Beroemd is ook zijn uitspraak ’testen toont wel de aanwezigheid aan van fouten, maar niet de afwezigheid’.
In de jaren zeventig ontstond de ‘softwarecrisis’. Het tempo waarin de hardware zich ontwikkelde, kon niet bijgehouden worden door de software. Er was behoefte aan een nieuwe discipline: software engineering. In die tijd werd gezocht naar methodes om wiskundig te bewijzen of programma’s correct waren. Hiermee moest het mogelijk worden om omvangrijke en vooral correcte software te ontwikkelen.
Het boek bevat interviews met Tony Hoare, Barbara Liskov, Peter Naur en Niklaus Wirth. Deze personen hebben bijgedragen aan de fundamenten van de huidige informatica. Daylight’s boek geeft inzicht in de boeiende beginperiode van de informatica. Hij beschrijft de worsteling tussen de academische en de industriële wereld; de strijd van universaliteit tegen efficiëntie.
Het boek is van een behoorlijk academisch niveau, maar goed leesbaar. Een aanrader voor iedereen die geïnteresseerd is in de beginperiode van de informatica.
Louis Kossen, ict-beheerder en ontwikkelaar
Om maar meteen met de deur in huis te vallen, ik vond ‘The Dawn of Software Engineering. From Turing to Dijkstra’ van Edgar G. Daylight een interessant boek maar ook stevige kost. Het boek gaat over de geschiedenis van de wiskundige logica en de ontwikkeling van computers, de rol van Turing daarin en het werk van Nederlands eerste programmeur en wiskundige Dijkstra. Het boek bevat tot slot nog vier interviews met Turing Award-winnaars. Met als terugkerende vraag: wat is de invloed van Turing?
Turing is de bedenker van de hedendaagse computer. Dit is een gangbare mening, maar uit het boek komt een ander beeld naar voren. Het begint al met de oorsprong: het artikel uit 1936 waarin hij de Turing-machine introduceerde. Dit is een artikel over wiskundige berekenbaarheid en had op het moment niets met computers van doen. Bovendien werd tegelijkertijd al onafhankelijk hiervan aan de eerste computers gewerkt. Dat is wat in het boek van Daylight uit de ontwikkelingen op het gebied van computers, programmeren en programmeertalen naar voren komt: de invloed van Turing wordt soms gezien (Dijkstra) maar vaker niet, wetenschappers zijn niet altijd bekend met zijn werk en soms ook helemaal niet. Zo viel er een leuke anekdote te lezen over een winnaar van de Turing Award die nog nooit van Turing gehoord had.
Breder gezien blijkt uit het boek dat ontwikkelingen in de computerwetenschap vaak naast elkaar ontstaan waarbij men lang niet altijd op de hoogte is van elkaars werk. Ieder zijn eigen wetenschappelijke winkeltje. Eén conclusie is duidelijk: Turing is niet de bedenker van de hedendaagse computer.
De vraag die na het lezen van het boek blijft: waar heeft Turing dan zijn grote naam aan te danken? Ik denk zelf dat zijn aansprekende werk bij het kraken van de Duitse codes daaraan nog het meest heeft bijgedragen. Dit gecombineerd met zijn treurige persoonlijke geschiedenis, de veroordeling vanwege zijn homoseksualiteit en zijn zelfmoord, maakt Turing tot een intrigerend figuur. Al is hij groter gemaakt dan zijn invloed misschien in werkelijkheid was.
Het boek van Daylight is helder geschreven maar niet eenvoudig, zeker als het over de wiskunde gaat. Om er iets van te begrijpen heb ik diverse passages meerdere keren moeten lezen en heel wat zoekwerk op internet moeten verrichten. En dan nog. Zo’n dertig jaar geleden zat ik als wiskundige midden in deze wiskundige materie maar die kennis is ver weggezakt. Daarom vond ik dit boek ook zo leuk. Het is niet alleen een interessant boek over de ontwikkelingen op het gebied van de wiskunde en computers maar het was voor mij vooral een vermakelijke en leerzame reis terug in de tijd. Houd je van wiskunde en computers dan is dit boek een aanrader.