Douglas McIlroy

Malcolm Douglas McIlroy, född 1932, är en amerikansk matematiker, ingenjör och programmerare. Sedan 1997 är han adjungerad professor i datavetenskap vid Dartmouth College. Han är mest känd för att ursprungligen ha utvecklat Unix pipelines genomförande och flera unix-verktyg som spell, diff, sort, join, graph, speak och tr. Han var också en av de banbrytande forskarna inom makroprocessorer och utbyggbarhet för programmeringsspråk. Han deltog i utformningen av flera inflytelserika programmeringsspråk, särskilt PL/1, SNOBOL, ALTRAN, TMG och C++.

Hans framstående arbete på mjukvarukomponentisering och kodåteranvändning gör honom till pionjär inom komponentbaserad mjukvaruutveckling och mjukvaruproduktlinjeteknik.

Biografi
McIlroy tog sin kandidatexamen i teknisk fysik från Cornell University och doktorsexamen i tillämpad matematik vid MIT 1959 på sin avhandling On the Solution of the Differential Equations of Conical Shells (handledare Eric Reissner). Han undervisade vid MIT från 1954 till 1958.

McIlroy började arbeta i Bell Laboratories 1958 och var från 1965 till 1986 chef för dess avdelning för datorteknikforskning (tillkomstplatsen för Unix-operativsystemet), och var därefter Distinguished Member of Technical Staff.

År 1997 gick McIlroy i pension från Bell Labs och började som adjungerad professor vid Dartmouth College Computer Science Department.

Vetenskapligt arbete

Makroprocessorer 
McIlroy anses vara en pionjär inom makroprocessorer. År 1959 introducerade han, tillsammans med Douglas E. Eastwood från Bell Labs, villkorliga och rekursiva makron i populära SAP assembler, och skapade vad som är känt som Macro SAP. Hans rapport från 1960 var också avgörande när det gällde att utöka alla (inklusive högnivå) programmeringsspråk genom makroprocessorer. Dessa bidrag startade makrospråkstraditionen på Bell Labs ("allt från L6 och AMBIT till C"). McIlroys makrobearbetningsidéer var också den främsta inspirationen för TRAC makroprocessor.

Han var också medförfattare till M6 makroprocessor i Fortran IV, som användes i ALTRAN  och senare fördes över till och inkluderades i tidiga versioner av Unix.

Bidrag till Unix
Under hela 1960- och 1970-talen bidrog McIlroy med program för Multics (som RUNOFF ) och Unix - operativsystem (som diff, echo, tr, join and look), versioner av vilka är utbredda än idag (2021) genom adoption av POSIX - standarden och Unix-liknande operativsystem. Han introducerade idén med Unix-pipelines och implementerade också TMG kompilator-kompilator i PDP-7 och PDP-11 assembly, som blev det första högnivåprogrammeringsspråket som kördes på Unix, vilket ledde till utveckling av och inflytande på Ken Thompsons B-programmeringsspråk och Stephen Johnsons Yacc-parsergenerator.

Datorspråkdesign
McIlroy påverkade utformningen och implementeringen av programmeringsspråket SNOBOL. Hans strängmanipuleringsmakron användes flitigt i den initiala SNOBOL-implementeringen 1962, och har en framträdande plats i efterföljande arbete, vilket så småningom ledde till dess maskinoberoende implementeringsspråk SIL. Tabelltypen (associativ array) lades 1969 till SNOBOL4 på McIlroys inrådan.

På 1960-talet deltog han i utformningen av PL/1 programmeringsspråk. Han var medlem i IBM – SHARE- kommittén som konstruerade språket och skrev tillsammans med Robert Morris kompilatorn Early PL/1 (EPL) i TMG för Multics- projektet.

Omkring år 1965 implementerade McIlroy tillsammans med W. Stanley Brown den ursprungliga versionen av ALTRAN-programmeringsspråket för IBM 7094-datorer. Han har också haft ett betydande inflytande på utformningen av programmeringsspråket C++.

Bibliografi i urval

Utmärkelser och hedersbetygelser
År 1995 valdes Mc Ilroy till Fellow i American Association for the Advancement of Science. och 2004 vann han både USENIX Lifetime Achievement Award ("The Flame") och dess Software Tools User Group (STUG) pris. År 2006 valdes han som medlem av National Academy of Engineering.

Referenser

Noter

Externa länkar 

 Doug McIlroy's homepage (archive homepage at Bell Labs website)
 Biography
 Doug McIlroy Facts
 McIlroy's History of Unix speech (audio), includes many autobiographical notes, along with discussion of many of the major Unix authors
 Ancestry of Linux - How the Fun Began, presentation November 2005: (presentation) (audio) (video)
 Original unix spell source code, written by Doug McIlroy
 Publications by M. D. McIlroy - https://www.cs.dartmouth.edu

Födda 1932
Levande personer
Amerikanska matematiker under 1900-talet
Amerikanska ingenjörer under 1900-talet
Amerikanska programmerare
Män