Douglas McIlroy - Douglas McIlroy

Malcolm Douglas McIlroy
Douglas McIlroy.jpeg
McIlroy ved Japan Prize Foundation i 2011
Født 1932 (alder 88–89)
Alma Mater Cornell University (BS, 1954)
Massachusetts Institute of Technology (Ph.D., 1959)
Kendt for Makroer , Unix pipelines , Unix filosofi , softwarekomponenter , ekko , diff , sorter , join , RUNOFF , tr , Unix manual
Videnskabelig karriere
Felter Datalogi , matematik , teknik
Afhandling Om løsningen af ​​differentielle ligninger af koniske skaller  (1959)
Doktorvejleder Eric Reissner
Internet side www .cs .dartmouth edu / ~ doug /

Malcolm Douglas McIlroy (født 1932) er en matematiker , ingeniør og programmør . Fra 2019 er han adjungeret professor i datalogi ved Dartmouth College . McIlroy er bedst kendt for at have oprindeligt foreslået Unix -rørledninger og udviklet flere Unix -værktøjer, såsom stave , diff , sortering , sammenføjning , graf , tale og tr . Han var også en af ​​de banebrydende forskere inden for makroprocessorer og udvidelse af programmeringssprog. Han deltog i designet af flere indflydelsesrige programmeringssprog, især PL/I , SNOBOL , ALTRAN , TMG og C ++ .

Hans banebrydende arbejde med softwarekomponentisering og genbrug af kode gør ham til en pioner inden for komponentbaseret softwareteknik og software produktlinjeteknik .

Biografi

McIlroy fik sin bachelor i ingeniørfysik fra Cornell University og en ph.d. i anvendt matematik fra MIT i 1959 til sit speciale On the Solution of the Differential Equations of Conical Shells (rådgiver Eric Reissner ). Han underviste på MIT fra 1954 til 1958.

McIlroy sluttede sig til Bell Laboratories i 1958; fra 1965 til 1986 var leder af dets computingtekniske forskningsafdeling (fødestedet for Unix -operativsystemet), og blev derefter fremtrædende medlem af teknisk personale.

Fra 1967 til 1968 fungerede McIlroy også som gæsteforelæser ved Oxford University .

I 1997 trak McIlroy sig tilbage fra Bell Labs og tog stilling som adjungeret professor i Dartmouth College Computer Science Department.

Han har tidligere tjent Association for Computing Machinery som national lektor, Turing Award -formand, medlem af publikationsplanlægningsudvalget og associeret redaktør for Communications of the ACM , Journal of the ACM , and ACM Transactions on Programming Language and Systems . Han fungerede også i forretningsudvalget for CSNET .

Forskning og bidrag

Makro processorer

McIlroy betragtes som en pioner inden for makroprocessorer . I 1959 introducerede han sammen med Douglas E. Eastwood fra Bell Labs betingede og rekursive makroer i populær SAP -assembler, hvilket skabte det, der kaldes Macro SAP. Hans papir fra 1960 var også afgørende for at udvide ethvert (herunder højt niveau ) programmeringssprog gennem makroprocessorer. Disse bidrag startede den makro-sproglige tradition hos Bell Labs ("alt fra L6 og AMBIT til C"). McIlroys makrobehandlingsideer var også den vigtigste inspiration for TRAC makroprocessor.

Han var også medforfatter til M6 makroprocessor i FORTRAN IV , som blev brugt i ALTRAN og senere blev portet til og inkluderet i tidlige versioner af Unix .

Bidrag til Unix

I løbet af 1960'erne og 1970'erne bidrog McIlroy med programmer til Multics (f.eks. RUNOFF ) og Unix- operativsystemer (såsom diff , echo , tr , join og look ), hvis versioner er udbredt den dag i dag gennem vedtagelse af POSIX- standarden og Unix- ligesom operativsystemer. Han introducerede ideen om Unix -rørledninger. Han har også implementeret TMG compiler-compiler i PDP-7 og PDP-11 forsamling, som blev sproget første på højt niveau programmering, som løber på Unix, hvilket fik udvikling og påvirke Ken Thompson 's sprog B programmering og Stephen Johnson Yacc parser-generator.

McIlroy overtog også Dennis Ritchies samling af Unix -manualen "som et kærlighedsarbejde". Især redigerede han bind 1 af de manuelle sider til version 7 Unix. Ifølge Sandy Fraser : "Det faktum, at der var en manual, at han [McIlroy] insisterede på en høj standard for manualen, betød, at han insisterede på en høj standard for hvert af de programmer, der blev dokumenteret".

Computersprogdesign

McIlroy påvirkede designet og implementeringen af SNOBOL programmeringssprog. Hans strengmanipulationsmakroer blev brugt i vid udstrækning i den indledende SNOBOL-implementering af 1962 og figurerede fremtrædende i efterfølgende arbejde, hvilket til sidst førte til dets maskineuafhængige implementeringssprog SIL. Bordtypen ( associativ array ) blev tilføjet til SNOBOL4 på McIlroys insistering i 1969.

I 1960'erne deltog han i designet af PL/I programmeringssprog. Han var medlem af IBM - SHARE -udvalget , der designede sproget og sammen med Robert Morris skrev Early PL/I (EPL) -kompilatoren i TMG til Multics -projektet.

Omkring 1965 implementerede McIlroy sammen med W. Stanley Brown den originale version af ALTRAN -programmeringssprog til IBM 7094 -computere.

McIlroy har også haft en betydelig indflydelse på design af programmeringssproget C ++ (f.eks. Foreslog han strømudgangsoperatøren <<).

Algoritmer

I 1990'erne arbejdede McIlroy på at forbedre sorteringsteknikker, især han var medforfatter af en optimeret qsort med Jon Bentley .

I 1969 bidrog han med en effektiv algoritme til at generere alle spændende træer i en graf (først opdaget af George J. Minty i 1965).

Priser og anerkendelse

I 1995 blev han valgt som stipendiat i American Association for the Advancement of Science . I 2004 vandt han både USENIX Lifetime Achievement Award ("Flammen") og dens Software Tools User Group (STUG) -pris. I 2006 blev han valgt som medlem af National Academy of Engineering .

Syn på computing

McIlroy tilskrives citatet "Den virkelige helt i programmeringen er den, der skriver negativ kode", hvor betydningen af negativ kode antages at ligne den berømte Apple -udvikler, Bill Atkinson , teamanekdote (dvs. når en ændring i en program kilde gør antallet af linjer kode fald ( 'negativ' kode), mens dens generelle kvalitet, læsbarhed eller hastighed forbedres).

Se også

Referencer

eksterne links