# John Backus

John Warner Backus (Philadelphia, 3 december 1924 – Ashland, 17 maart 2007) was een Amerikaanse informaticus. Hij was een van de belangrijkste pioniers op het gebied van programmeer­talen. Hij leidde het team dat FORTRAN, de eerste geïmplementeerde hogere programmeertaal, maakte, hij voerde de metataal BNF in, die vrijwel universeel wordt gebruikt om de syntaxis van computertalen te beschrijven, en deed onderzoek op het gebied van function-level programming, een vorm van functioneel programmeren.

## Levensloop

Backus werd geboren als zoon van een Duitse emigrant. Zijn vader was scheikundige en had in Duitsland de constructie van precieze thermometers verbeterd; hij werd welgesteld door de meettechniek voor de productie van nitroglycerine.
Backus groeide op in Wilmington (Delaware). Hij ging naar de Hill School in Pottstown (Pennsylvania) en was blijkbaar geen ijverige leerling. Hij ging naar de Universiteit van Virginia om scheikunde te studeren, maar brak dit af en ging het Amerikaanse leger in. Daar volgde hij een medische opleiding; tijdens een stage in een ziekenhuis werd een bottumor op zijn schedel verwijderd, waarna er een metaalplaat op zijn schedel werd bevestigd; na negen maanden geneeskunde-opleiding liet hij deze vervangen door een nieuwe, omdat hij er niet tevreden mee was. Daarna verliet hij het leger.
Hij verhuisde naar New York en volgde daar eerst een opleiding tot radiotechnicus en ontdekte zijn belangstelling voor wiskunde – wat zijn roeping zou blijken te zijn. Hij studeerde af in 1949 met een mastergraad aan Columbia University. Kort voor het einde van zijn studie bezocht Backus het IBM-hoofdkantoor in Madison Avenue in New York. Na een spontane ondervraging door medewerkers, die hij later aanduidde als een mondeling examen, werd hij in 1950 onmiddellijk aangenomen als programmeur. In zijn eerste drie jaar werkte hij aan de SSEC; zijn eerste grote project was het schrijven van een programma om de posities van de Maan te bepalen.
Tot zijn pensioen in 1991 bleef hij bij IBM werken. Vervolgens trok hij zich geheel terug uit de wereld van de informatica en wijdde zich intensief toe aan de religieuze leringen van Jiddu Krishnamurti en Eva Pierrakos.
Een eerste huwelijk eindigde in een scheiding, zijn tweede vrouw overleed in 2004. Backus overleed thuis op 82-jarige leeftijd. Hij liet twee dochters na.

## FORTRAN

Bij de eerste computers moesten programma's in de vorm van voor mensen praktisch onleesbare machinetaalinstructies stuk voor stuk ingevoerd worden, wat omslachtig en foutgevoelig was. Toen Backus bij IBM ging werken werd over het algemeen geprogrammeerd in voor specialisten beter leesbare assembleertaal, maar de opdrachten daarvan hebben nog steeds een een-op-een-correspondentie met machinetaalinstructies. Hogere programmeertalen waren er nog niet.
Backus was ontevreden met de stand van de informatica en wilde programmeren makkelijker maken. In 1953 kreeg hij toestemming van IBM om een team samen te stellen voor onderzoek naar betere programmeermethoden.
Het resultaat van deze inspanningen was een compiler voor FORTRAN op de IBM 704-computer, die in 1957 werd uitgebracht. In sommige gevallen stond een enkele Fortran-instructie gelijk aan twintig regels rauwe machinetaal. Met dit abstractere en intuïtievere systeem konden programmeurs veel sneller werken; bovendien was de taal voor het eerst leesbaar voor niet-specialisten. De compiler deed ook aan geavanceerde optimalisatietechnieken.
Hoewel FORTRAN niet de eerste hogere programmeertaal was, was het wel de eerste waarvoor er een compiler was geïmplementeerd en werd het de eerste die op grote schaal gebruikt werd. Deze taal stelde voor het eerst ook niet-specialisten in staat om vakspecifieke problemen met computers op te lossen, in het bijzonder rekenproblemen, en werd in het bijzonder populair onder natuurwetenschappers en ingenieurs. Al snel groeide de creatie van Backus en zijn team uit tot de absolute wereldstandaard voor het programmeren van rekenintersieve problemen; en in 1958 werd voor het eerst de term 'software' geïntroduceerd.

## Backus-Naur Form

Backus maakte een andere, kritieke bijdrage aan de vroege informatica: in de tweede helft van de jaren vijftig zat hij in de internationale comités die ALGOL 58 en het zeer invloedrijke ALGOL 60 ontwikkelden, die snel de de facto wereldstandaarden werden om algoritmen in te publiceren.
Hij ontwikkelde, voor een UNESCO-rapport dat in 1959 verscheen en waarin de kort daarvoor verschenen taal ALGOL 58 werd beschreven, een formele notatie waarmee elke contextvrije formele taal beschreven kan worden. Nog in hetzelfde jaar wijzigde Peter Naur deze metataal, zodat die tot op heden de naam Backus-Naur Form (BNF) draagt, die – vaak in licht gewijzigde vorm – nog steeds veel gebruikt wordt bij het ontwikkelen van compilers.

## Function-level programming

Later werkte hij aan een function-level-programmeertaal genaamd FP, die hij in 1977 beschreef in zijn Turing Award-lezing "Can Programming be Liberated from the von Neumann Style?" Wederom was zijn doel om het programmeren makkelijker te maken, deze keer door een programmeerstijl die zich oriënteert op wiskundige functies in plaats van de tot dan toe (en nog steeds) overheersende imperatieve programmeermethode. Sommigen zagen het als Backus' verdedigingsrede voor het maken van FORTRAN. De lezing veroorzaakte niet zozeer interesse in zijn taal FP, maar vormde wel een aanleiding voor onderzoek naar functioneel programmeren in het algemeen.
FP was sterk beïnvloed door Kenneth E. Iversons programmeertaal APL en gebruikte evenzo een niet-standaard tekenverzameling. Backus besteedde de rest van zijn carrière aan het ontwikkelen van FL (van Function Level), een opvolger van FP. FL was een intern onderzoeksproject van IBM, en de ontwikkeling van de taal eindigde in feite toen het project af was (er zijn nog maar een paar artikelen overgebleven die de taal documenteren), maar veel van de innovatieve en belangrijke ideeën uit de taal zijn nu geïmplementeerd in Iversons programmeertaal J.

## Erkenning

Backus werd benoemd tot IBM Fellow in 1963. De IEEE kende hem in 1967 de W.W. McDowell Award toe voor het ontwikkelen van FORTRAN. In 1975 ontving hij de Amerikaanse National Medal of Science, en in 1977 de ACM Turing Award "voor diepgaande, invloedrijke en blijvende bijdragen aan het ontwerp van praktische hoog-niveau-programmeersystemen, met name door zijn werk aan FORTRAN, en voor oorspronkelijke publicaties van formele procedures voor het specificeren van programmeertalen" (oftewel BNF). In 1993 ontving hij de Draper Prize van de National Academy of Engineering.

## Citaat

De meeste wetenschappers zijn wetenschapper omdat ze bang zijn voor het leven. Het is fantastisch om uitvindingen te doen in de wetenschap, in een kader waarin men zich niet aan mensen hoeft te ergeren of onder relaties hoeft te lijden. Het is fantastisch daar buiten in de aseptische wereld, waarin er geen pijn is. Maar ooit moet men in zijn innerlijk schouwen en die angst overwinnen. Daarvoor zijn er geen programma's en ook geen zeer goede theorieën.