Malcolm Douglas McIlroy (Newburgh, New York, 1932. április 24. –) amerikai matematikus, mérnök és programozó. 2019-től a Dartmouth College informatika adjunktusa. McIlroy leginkább arról ismert, hogy eredetileg Unix-csővezetékeket javasolt, és számos Unix-eszközt fejlesztett ki, például az echo, spell, diff, sort, join, graph, speak és tr. A makroprocesszorok és a programozási nyelvek bővíthetőségének egyik úttörő kutatója volt. Részt vett több alapvető programozási nyelv, különösen a PL/I, a SNOBOL, az ALTRAN, a TMG és a C++ tervezésében.

A szoftverkomponens-alapú szoftverfejlesztés és a kód újrafelhasználása terén végzett alapvető munkássága a komponensalapú szoftverfejlesztés és a szoftver termékcsalád-fejlesztés úttörőjévé teszi.

ÉletrajzaM. Douglas McIlroy McIlroy a Cornell Egyetemen mérnöki fizikából szerzett alapdiplomát, majd az MIT-n alkalmazott matematikából doktorált 1959-ben On the Solution of the Differential Equations of Conical Shells (konzulens Eric Reissner) című disszertációjával. 1954 és 1958 között az MIT-n tanított.

1958-ban csatlakozott a Bell Laboratorieshoz; 1965-től 1986-ig a Számítástechnikai Kutatási Osztály (a Unix operációs rendszer szülőhelye) vezetője volt, majd a műszaki személyzet kiváló tagja.

1967 és 1968 között McIlroy az Oxfordi Egyetem vendégtanára is volt.

1997-ben McIlroy nyugdíjba vonult a Bell Labs-től, és adjunktusi állást vállalt a Dartmouth Főiskola Informatikai Tanszékén.

Korábban az Association for Computing Machinery (ACM) nemzeti előadóként, a Turing-díj elnökeként, a kiadványtervezési bizottság tagjaként, valamint a Communications of the ACM, a Journal of the ACM és az ACM Transactions on Programming Languages and Systems segédszerkesztőjeként dolgozott. A Computer Science Network (CSNET) végrehajtó bizottságának is tagja volt.

Kutatás és hozzájárulások Makroprocesszorok McIlroy a makroprocesszorokAz általános célú makroprocesszor (general-purpose macro processor) vagy általános célú előfeldolgozó (preprocessor) olyan makró-feldolgozó, amely nem kötődik, illetve nem integrálódik egy adott nyelvhez vagy szoftverhez úttörőjének tekinthető. 1959-ben Douglas E. Eastwooddal, a Bell Labs munkatársával együtt bevezette a feltételes és rekurzív makrókat a népszerű SAP asszemblerbe, létrehozva az úgynevezett Macro SAP-t. Az 1960-ban megjelent tanulmánya szintén alapvető jelentőségű volt a makroprocesszorok segítségével történő bármilyen (beleértve a magas szintű) programozási nyelv kiterjesztése terén. Ezek a hozzájárulások indították el a makro-nyelvek hagyományát a Bell Labs-ben („minden az L6-tól és az AMBIT-től a C-ig”). McIlroy makrófeldolgozási ötletei voltak a TRAC (Text Reckoning And Compiling) makrófeldolgozó fő inspirálói is.

Társszerzője volt a FORTRAN IV M6 makroprocesszornak is, amelyet az ALTRAN-banAz ALTRAN (ALgebraic TRANslator) egy programozási nyelv több változóból álló, egész együtthatóval rendelkező racionális függvények formális manipulálására. A Bell Labs-ben fejlesztették ki az 1960-as években. használtak, majd később átvitték és beépítették a Unix korai verzióiba.

Hozzájárulás a Unixhoz Az 1960-as és 1970-es években McIlroy a Multics (például a RUNOFF As PDF) és a Unix operációs rendszerekhez készített (például a diff, echo, tr, join és look) programokat, amelyek változatai a mai napig széles körben elterjedtek a POSIX szabvány és a Unix-szerű operációs rendszerek elfogadása révén. Ő vezette be a Unix pipeline-ok gondolatát. A TMG fordító-kompilátort PDP-7 és PDP-11 assembly nyelven is megvalósította, ami az első Unixon futó magas szintű programozási nyelv lett, ami Ken Thompson B programozási nyelvének és Stephen Johnson Yacc parser-generátorának fejlesztésére ösztönözte és befolyásolta.

McIlroy átvette Dennis Ritchie-től a Unix kézikönyv összeállítását is „szerelmi munkaként”. Különösen a UNIX 7-es verziójú manual pages kézikönyv-lapjainak 1. kötetét (General commands) szerkesztette. Sandy FraserAlexander G. Fraser (1937. június 8. – 2022. június 13.), Sandy Fraser néven is ismert, neves brit-amerikai informatikus és az AT&T korábbi vezető tudósa volt. szerint: „Az a tény, hogy volt egy kézikönyv, és hogy ő [McIlroy] ragaszkodott a kézikönyv magas színvonalához, azt jelentette, hogy ragaszkodott a dokumentált programok mindegyikének magas színvonalához”.

Számítógépes nyelvtervezés McIlroy befolyásolta a SNOBOL programozási nyelv tervezését és megvalósítását. Az ő karakterlánc-manipulációs makróit széles körben használták a SNOBOL 1962-es kezdeti implementációjában, és a későbbi munkákban is jelentős szerepet játszott, ami végül a gépfüggetlen implementációs nyelvhez, a SIL-hez vezetett. A SNOBOL4-hez McIlroy ragaszkodása nyomán 1969-ben hozzáadták a táblázat típust (asszociatív tömb).

Az 1960-as években részt vett a PL/I programozási nyelv tervezésében. Tagja volt a nyelvet tervező IBM-SHARE bizottságnak, és Robert Morrisszal együtt megírta az Early PL/IAz Early PL/I (EPL), a PL/I egy részhalmazának dialektusa (1964). (EPL) fordítóját TMG-ben a Multics projekt számára.

1965 körül McIlroy W. Stanley Brownnal együtt megvalósította az ALTRAN programozási nyelv eredeti változatát az IBM 7094-es számítógépekre.Hall, A.D., "The ALTRAN System for Rational Function Manipulation — A Survey". Communications of the ACM, 14(8):517–521 (August 1971).

McIlroy jelentős hatást gyakorolt a C++ programozási nyelv tervezésére is (pl. ő javasolta a << folyamkimeneti operátort).

Algoritmusok Az 1990-es években McIlroy a rendezési technikák javításán dolgozott, különösen Jon Bentley-vel közösen írt egy optimalizált qsortot.

1969-ben hozzájárult egy hatékony algoritmushoz, amellyel egy gráf összes feszítőfája generálható (amelyet először George J. Minty fedezett fel 1965-ben).

Díjak és elismerések 1995-ben az American Association for the Advancement of Science (Amerikai Tudományfejlesztési Társaság) tagjává választották. 2004-ben elnyerte a USENIX életműdíját („The Flame”) és a Software Tools User Group (STUG) díját is. 2006-ban a National Academy of Engineering tagjává választották.

Nézetek a számítástechnikáról McIlroy-nak tulajdonítják az idézetet: „A programozás igazi hőse az, aki negatív kódot ír”These quotes were heard during a talk he gave to the DLSLUG 12/3/09, ahol a negatív kód jelentését a híres Apple-fejlesztő, Bill Atkinson csapatának anekdotájához hasonlóan értelmezik (vagyis amikor egy program forrásában végzett változtatással csökken a kódsorok száma („negatív” kód), miközben a program általános minősége, olvashatósága vagy sebessége javul).

Irodalom

Jegyzetek

További információk Archivált honlapja a Bell Labs-nál Publikációk

Fordítás

Kategória:1932-ben született személyek Kategória:Élő személyek Kategória:Amerikai informatikusok Kategória:Amerikai programozók