Douglas McIlroy - Douglas McIlroy
Malcolm Douglas McIlroy | |
---|---|
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 |
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 IBM – SHARE , 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
- Doug McIlroy za stronę ( archiwum stronę w Bell Labs stronie)
- Biografia
- Fakty o Doug McIlroy
- McIlroy's History of Unix speech (audio), zawiera wiele notatek autobiograficznych, wraz z omówieniem wielu głównych autorów Unixa
- Przodkowie Linuksa - Jak zaczęła się zabawa , prezentacja listopad 2005: (prezentacja) (audio) (wideo)
- Oryginalny kod źródłowy zaklęć uniksowych, napisany przez Douga McIlroy
- Publikacje MD McIlroy - https://www.cs.dartmouth.edu