Douglas McIlroy - Douglas McIlroy

Malcolm Douglas McIlroy
Douglas McIlroy.jpeg
McIlroy la Japan Prize Foundation în 2011
Născut 1932 (88-89 ani)
Alma Mater Universitatea Cornell (BS, 1954)
Institutul de Tehnologie din Massachusetts (doctorat, 1959)
Cunoscut pentru Macrocomenzi , conducte Unix , filozofie Unix , componente software , ecou , dif , sortare , unire , RUNOFF , tr , manual Unix
Cariera științifică
Câmpuri Informatică , matematică , inginerie
Teză Despre soluția ecuațiilor diferențiale ale cochiliilor conice  (1959)
Consilieri doctorali Eric Reissner
Site-ul web www .cs .dartmouth .edu / ~ doug /

Malcolm Douglas McIlroy (n. 1932) este matematician , inginer și programator . Începând din 2019, este profesor adjunct de informatică la Dartmouth College . McIlroy este cel mai bine cunoscut pentru că a propus inițial conducte Unix și a dezvoltat mai multe instrumente Unix , cum ar fi vraja , diferența , sortarea , unirea , graficul , vorbirea și tr . El a fost, de asemenea, unul dintre cercetătorii pionieri în macro procesatoare și extensibilitatea limbajului de programare. El a participat la proiectarea de mai multe limbaje de programare influente, în special PL / I , SNOBOL , ALTRAN , TMG și C ++ .

Munca sa fundamentală privind componentizarea software-ului și refolosirea codului îl face un pionier al ingineriei software bazate pe componente și al ingineriei de produse software .

Biografie

McIlroy și-a obținut diploma de licență în fizica ingineriei de la Universitatea Cornell și un doctorat. în matematică aplicată de la MIT în 1959 pentru teza sa Despre soluția ecuațiilor diferențiale ale cochiliilor conice (consilier Eric Reissner ). A predat la MIT din 1954 până în 1958.

McIlroy s-a alăturat Laboratoarelor Bell în 1958; din 1965 până în 1986 a fost șeful departamentului său de cercetare a tehnicilor de calcul (locul de naștere al sistemului de operare Unix), iar ulterior a fost distins membru al personalului tehnic.

Din 1967 până în 1968, McIlroy a servit și ca lector în vizită la Universitatea Oxford .

În 1997, McIlroy s-a retras de la Bell Labs și a preluat o funcție de profesor adjunct în cadrul Departamentului de Informatică al Colegiului Dartmouth .

Anterior, el a servit Asociația pentru Mașini de Calculat ca lector național, președinte al Premiului Turing , membru al comitetului de planificare a publicațiilor și editor asociat pentru Comunicările ACM , Jurnalul ACM și ACM Transactions on Programming Languages ​​and Systems . De asemenea, a fost membru al comitetului executiv al CSNET .

Cercetări și contribuții

Procesoare macro

McIlroy este considerat a fi un pionier al procesorilor macro . În 1959, împreună cu Douglas E. Eastwood de la Bell Labs, a introdus macro-uri condiționate și recursive în asamblorul popular SAP , creând ceea ce este cunoscut sub numele de Macro SAP. Lucrarea sa din 1960 a fost, de asemenea, fundamentală în domeniul extinderii oricărui limbaj de programare (inclusiv la nivel înalt ) prin intermediul procesorelor macro. Aceste contribuții au început tradiția macro-limbajului la Bell Labs („totul, de la L6 și AMBIT la C”). Ideile de procesare macro ale lui McIlroy au fost, de asemenea, principala inspirație pentru procesorul macro TRAC .

De asemenea, a coautorizat procesorul macro M6 în FORTRAN IV , care a fost utilizat în ALTRAN și ulterior a fost portat și inclus în versiunile anterioare ale Unix .

Contribuții la Unix

De-a lungul anilor 1960 și 1970, McIlroy a contribuit la programe pentru sistemele de operare Multics (precum RUNOFF ) și Unix (precum diff , echo , tr , join și look ), ale căror versiuni sunt răspândite până în prezent prin adoptarea standardului POSIX și Unix- precum sistemele de operare. El a introdus ideea conductelor Unix. De asemenea, a implementat compilatorul-compilator TMG în ansamblul PDP-7 și PDP-11 , care a devenit primul limbaj de programare la nivel înalt care rulează pe Unix, determinând dezvoltarea și influențând limbajul de programare B al lui Ken Thompson și generatorul de parser Yacc al lui Stephen Johnson .

McIlroy a preluat, de asemenea, din compilarea manualului Unix de către Dennis Ritchie „ca o muncă a iubirii”. În special, a editat volumul 1 al paginilor manualului pentru versiunea 7 Unix. Potrivit lui Sandy Fraser : "Faptul că a existat un manual, că el [McIlroy] a insistat asupra unui standard ridicat pentru manual, a însemnat că el a insistat asupra unui standard ridicat pentru fiecare dintre programele care au fost documentate".

Proiectarea limbajului computerizat

McIlroy a influențat proiectarea și implementarea limbajului de programare SNOBOL . Macro-urile sale de manipulare a șirurilor au fost utilizate pe scară largă în implementarea inițială SNOBOL din 1962 și au apărut în mod evident în lucrările ulterioare, ducând în cele din urmă la limbajul său de implementare independent de mașină SIL. Tipul de tabel ( matrice asociativă ) a fost adăugat la SNOBOL4 pe insistența lui McIlroy în 1969.

În anii 1960, a participat la proiectarea limbajului de programare PL / I. A fost membru al comitetului IBM - SHARE care a proiectat limbajul și, împreună cu Robert Morris , a scris compilatorul Early PL / I (EPL) în TMG pentru proiectul Multics .

În jurul anului 1965, McIlroy, împreună cu W. Stanley Brown, au implementat versiunea originală a limbajului de programare ALTRAN pentru computerele IBM 7094 .

McIlroy a avut, de asemenea, o influență semnificativă asupra proiectării limbajului de programare C ++ (de exemplu, el a propus operatorul de ieșire a fluxului <<).

Algoritmi

În anii 1990, McIlroy a lucrat la îmbunătățirea tehnicilor de sortare, în special el a fost co-autor al unui sort optimizat cu Jon Bentley .

În 1969, a contribuit cu un algoritm eficient pentru a genera toți copacii într-un grafic (descoperit pentru prima dată de George J. Minty în 1965).

Premii și recunoaștere

În 1995, a fost ales membru al Asociației Americane pentru Avansarea Științei . În 2004, a câștigat atât premiul USENIX Lifetime Achievement Award („Flacăra”), cât și premiul său Software Tools User Group (STUG). În 2006, a fost ales membru al Academiei Naționale de Inginerie .

Puncte de vedere despre calcul

Lui McIlroy i se atribuie citatul „Adevăratul erou al programării este cel care scrie cod negativ”, unde semnificația codului negativ este asemănătoare cu celebrul dezvoltator Apple , Bill Atkinson , anecdotă a echipei (adică, atunci când o schimbare într-un sursa programului reduce numărul de linii de cod ( cod „negativ”), în timp ce calitatea sa generală, lizibilitatea sau viteza se îmbunătățește).

Vezi si

Referințe

linkuri externe