Douglas McIlroy - Douglas McIlroy

Malcolm Douglas McIlroy
Douglas McIlroy.jpeg
McIlroy na Japan Prize Foundation w 2011 r.
Urodzić się 1932 (wiek 88-89)
Alma Mater Uniwersytet Cornell (BS, 1954)
Massachusetts Institute of Technology (doktorat, 1959)
Znany z Makra , rurociągi Unix , Unix filozofii , oprogramowanie componentry , echo , edycja , sortowanie , łączą , spływania , tr , ręczne Unix
Kariera naukowa
Pola Informatyka , matematyka , inżynieria
Praca dyplomowa O rozwiązaniu równań różniczkowych muszli stożkowych  (1959)
Doradcy doktorscy Eric Reissner
Strona internetowa www .cs .dartmouth .edu /~doug /

Malcolm Douglas McIlroy (ur. 1932) jest matematykiem , inżynierem i programistą . Od 2019 roku jest adiunktem w dziedzinie informatyki w Dartmouth College . McIlroy jest najbardziej znany z tego, że pierwotnie zaproponował potoki uniksowe i opracował kilka narzędzi uniksowych , takich jak spell , diff , sort , join , graph , speak i tr . Był także jednym z pionierskich badaczy makroprocesorów i rozszerzalności języka programowania. Brał udział w projektowaniu wielu wpływowych języków programowania, w szczególności PL/I , SNOBOL , ALTRAN , TMG i C++ .

Jego przełomowa praca nad komponowaniem oprogramowania i ponownym wykorzystaniem kodu czyni go pionierem inżynierii oprogramowania opartej na komponentach i inżynierii linii produktów oprogramowania .

Biografia

McIlroy uzyskał tytuł licencjata z fizyki inżynierskiej na Uniwersytecie Cornell oraz doktorat. w matematyce stosowanej z MIT w 1959 za pracę o rozwiązaniu równań różniczkowych powłok stożkowych (doradca Eric Reissner ). Wykładał na MIT od 1954 do 1958.

McIlroy dołączył do Bell Laboratories w 1958 roku; od 1965 do 1986 był kierownikiem Działu Badań Technik Komputerowych (miejsce narodzin systemu operacyjnego Unix), a następnie był Zasłużonym Członkiem Sztabu Technicznego.

W latach 1967-1968 McIlroy był także wykładowcą wizytującym na Uniwersytecie Oksfordzkim .

W 1997 roku McIlroy przeszedł na emeryturę z Bell Labs i objął stanowisko adiunkta na Wydziale Informatyki Dartmouth College .

Wcześniej pracował w Association for Computing Machinery jako wykładowca krajowy, przewodniczący nagrody Turinga , członek komitetu planowania publikacji i zastępca redaktora ds. Komunikacji ACM , Journal of the ACM i ACM Transactions on Programming and Systems . Zasiadał także w komitecie wykonawczym CSNET .

Badania i wkłady

Procesory makr

McIlroy jest uważany za pioniera makroprocesorów . W 1959 roku wraz z Douglasem E. Eastwoodem z Bell Labs wprowadził makra warunkowe i rekurencyjne do popularnego assemblera SAP , tworząc tzw. Macro SAP. Jego artykuł z 1960 r. był również przełomowy w dziedzinie rozszerzania dowolnych (w tym wysokopoziomowych ) języków programowania poprzez procesory makr. Ten wkład zapoczątkował tradycję makrojęzyków w Bell Labs („wszystko od L6 i AMBIT do C”). Pomysły McIlroy dotyczące przetwarzania makr były również główną inspiracją dla procesora makr TRAC .

Był także współautorem makroprocesora M6 w FORTRAN IV , który był używany w ALTRAN, a później został przeniesiony i włączony do wczesnych wersji Unixa .

Wkład do Uniksa

W latach 60. i 70. McIlroy dostarczał programy dla Multics (takich jak RUNOFF ) i systemów operacyjnych Unix (takich jak diff , echo , tr , join i look ), których wersje są szeroko rozpowszechnione do dziś dzięki przyjęciu standardu POSIX i Unix- jak systemy operacyjne. Wprowadził ideę potoków uniksowych. On również realizowane TMG Generator Parserów w PDP-7 i PDP-11 -montażowej, który został pierwszym język wysokiego poziomu działa na systemie Unix, co skłoniło rozwoju i wpływania Ken Thompson „s język programowania B oraz Stephena Johnsona Yacc parser-generator.

McIlroy przejął również od Dennisa Ritchiego kompilację podręcznika Unix „jako praca miłości”. W szczególności redagował tom 1 stron podręcznika dla wersji 7 Unix. Według Sandy'ego Frasera : „Fakt, że istniał podręcznik, że on [McIlroy] nalegał na wysoki standard podręcznika, oznaczał, że nalegał na wysoki standard dla każdego z udokumentowanych programów”.

Projektowanie języka komputerowego

McIlroy wpłynął na projektowanie i implementację języka programowania SNOBOL . Jego makra do manipulacji ciągami były szeroko stosowane w początkowej implementacji SNOBOL w 1962 roku i zajmowały ważne miejsce w późniejszych pracach, ostatecznie prowadząc do niezależnego od komputera języka implementacji SIL. Typ tabeli ( tablica asocjacyjna ) został dodany do SNOBOL4 na naleganie McIlroya w 1969 roku.

W latach 60. brał udział w projektowaniu języka programowania PL/I . Był członkiem komitetu IBMSHARE , który zaprojektował język i wraz z Robertem Morrisem napisał kompilator Early PL/I (EPL) w TMG dla projektu Multics .

Około 1965 r. McIlroy wraz z W. Stanley Brownem wdrożył oryginalną wersję języka programowania ALTRAN dla komputerów IBM 7094 .

McIlroy wywarł również znaczący wpływ na projekt języka programowania C++ (np. zaproponował operator strumienia wyjściowego <<).

Algorytmy

W latach 90. McIlroy pracował nad poprawą technik sortowania, w szczególności był współautorem zoptymalizowanego qsort z Jonem Bentleyem .

W 1969 stworzył wydajny algorytm do generowania wszystkich drzew spinających w grafie (po raz pierwszy odkryty przez George'a J. Minty'ego w 1965).

Nagrody i uznanie

W 1995 roku został wybrany na członka Amerykańskiego Stowarzyszenia Postępu Naukowego . W 2004 roku zdobył zarówno nagrodę USENIX Lifetime Achievement Award („The Flame”), jak i nagrodę Software Tools User Group (STUG). W 2006 roku został wybrany na członka National Academy of Engineering .

Poglądy na komputery

McIlroyowi przypisuje się cytat „Prawdziwym bohaterem programowania jest ten, który pisze negatywny kod”, gdzie znaczenie kodu negatywnego jest podobne do anegdoty zespołu słynnego dewelopera Apple , Billa Atkinsona (tj. źródło programu sprawia, że ​​zmniejsza się liczba linii kodu ( kod „negatywny”), a poprawia się jego ogólna jakość, czytelność lub szybkość).

Zobacz też

Bibliografia

Zewnętrzne linki