Jump to content

Дуглас Макилрой

(Перенаправлено с М. Дугласа Макилроя )
Малкольм Дуглас Макилрой
Макилрой в Фонде премии Японии в 2011 году
Рожденный ( 1932-04-24 ) 24 апреля 1932 г. (92 года)
Ньюбург, Нью-Йорк
Альма-матер Корнелльский университет (бакалавр наук, 1954 г.)
Массачусетский технологический институт (доктор философии, 1959 г.)
Известный Макросы , Конвейеры Unix , Философия Unix , программные компоненты , echo , diff , sort , join , RUNOFF , tr , Руководство по Unix
Научная карьера
Поля Информатика , математика , инженерия
Диссертация О решении дифференциальных уравнений конических оболочек   (1959)
Докторские консультанты Эрик Рейсснер
Веб-сайт www .cs Дартмут .edu /~дуг /

Малкольм Дуглас Макилрой (род. 1932) — американский математик , инженер и программист . По состоянию на 2019 год он является адъюнкт-профессором компьютерных наук в Дартмутском колледже . Макилрой наиболее известен тем, что первоначально предложил конвейеры Unix и разработал несколько инструментов Unix , таких как Spell , diff , sort , join , Graph , Speak и tr . [ 1 ] Он также был одним из первых исследователей макропроцессоров и расширяемости языков программирования. Он участвовал в разработке нескольких влиятельных языков программирования, в частности PL/I , SNOBOL , ALTRAN , TMG и C++ .

Его плодотворная работа по компонентизации программного обеспечения. [ 2 ] и повторное использование кода [ 3 ] [ 4 ] делает его пионером в области компонентной разработки программного обеспечения и разработки линеек программных продуктов .

Биография

[ редактировать ]

Макилрой получил степень бакалавра инженерной физики в Корнелльском университете . [ 5 ] и доктор философии. получил степень бакалавра прикладной математики в Массачусетском технологическом институте в 1959 году за диссертацию «О решении дифференциальных уравнений конических оболочек» (руководитель Эрик Рейсснер ). [ 6 ] Он преподавал в Массачусетском технологическом институте с 1954 по 1958 год. [ 5 ]

Макилрой присоединился к Bell Laboratories в 1958 году; с 1965 по 1986 год был главой исследовательского отдела вычислительной техники (место рождения операционной системы Unix), а затем был почетным членом технического персонала. [ 5 ]

С 1967 по 1968 год Макилрой также работал приглашенным лектором в Оксфордском университете . [ 5 ]

В 1997 году Макилрой ушел из Bell Labs и занял должность адъюнкт-профессора на факультете компьютерных наук Дартмутского колледжа . [ 5 ]

Ранее он работал в Ассоциации вычислительной техники в качестве национального лектора, председателя Премии Тьюринга , члена комитета по планированию публикаций и заместителя редактора Communications of the ACM , Journal of the ACM и ACM Transactions on Programming Languages ​​and Systems . Он также входил в состав исполнительного комитета CSNET . [ 5 ]

Исследования и вклад

[ редактировать ]

Макропроцессоры

[ редактировать ]

Макилрой считается пионером макропроцессоров . [ 7 ] [ 8 ] [ 9 ] В 1959 году вместе с Дугласом Иствудом из Bell Labs он представил условные и рекурсивные макросы в популярный SAP . ассемблер [ 10 ] создание так называемого Macro SAP. [ 11 ] Его статья 1960 года также была плодотворной в области расширения любых языков программирования (включая языки высокого уровня ) с помощью макропроцессоров. [ 7 ] [ 10 ] Эти вклады положили начало традиции макроязыков в Bell Labs («все, от L6 и AMBIT до C»). [ 12 ] Идеи Макилроя по обработке макросов также послужили основным источником вдохновения для TRAC . макропроцессора [ 13 ]

Он также является соавтором макропроцессора M6 на FORTRAN IV . [ 14 ] который использовался в ALTRAN [ 15 ] а позже был портирован и включен в ранние версии Unix . [ 16 ]

Вклад в Unix

[ редактировать ]

На протяжении 1960-х и 1970-х годов Макилрой участвовал в программах для Multics (таких как RUNOFF [ 17 ] ) и операционные системы Unix (такие как diff , echo , tr , join и посмотрите [ 16 ] ), версии которого широко распространены по сей день благодаря принятию стандарта POSIX и Unix-подобных операционных систем. Он представил идею конвейеров Unix. [ 17 ] Он также реализовал TMG компилятор-компилятор в ассемблерах PDP-7 и PDP-11 , которые стали первым языком программирования высокого уровня, работающим в Unix, что стимулировало разработку и повлияло на Кена Томпсона B. язык программирования [ 17 ] Стивена Джонсона и синтаксический анализатор-генератор Yacc . [ 18 ]

Макилрой также взял на себя обязанности Денниса Ритчи по составлению руководства по Unix «как любимому труду». В частности, он редактировал первый том страниц руководства для версии 7 Unix. [ 19 ] По словам Сэнди Фрейзера : «Тот факт, что существовало руководство, и что он [Макилрой] настаивал на высоких стандартах для руководства, означал, что он настаивал на высоких стандартах для каждой из документированных программ». [ 20 ]

Компьютерный языковой дизайн

[ редактировать ]

Макилрой повлиял на разработку и реализацию языка программирования SNOBOL . Его макросы для манипуляций со строками широко использовались в первоначальной реализации SNOBOL 1962 года и занимали видное место в последующих работах, что в конечном итоге привело к созданию машинно-независимого языка реализации SIL. Тип таблицы ( ассоциативный массив ) был добавлен в SNOBOL4 по настоянию Макилроя в 1969 году. [ 21 ]

В 1960-х годах он участвовал в разработке языка программирования PL/I . [ 4 ] [ 22 ] Он был членом комитета IBM SHARE , который разработал язык. [ 23 ] и вместе с Робертом Моррисом написал компилятор Early PL/I (EPL) в TMG для проекта Multics . [ 24 ] [ 25 ]

Примерно в 1965 году Макилрой вместе с У. Стэнли Брауном реализовал оригинальную версию языка программирования ALTRAN для компьютеров IBM 7094 . [ 15 ] [ 10 ]

Макилрой также оказал значительное влияние на разработку языка программирования C++ (например, он предложил оператор потокового вывода <<). [ 26 ]

Алгоритмы

[ редактировать ]

написал оптимизированную qsort В 1990-х годах Макилрой работал над улучшением методов сортировки, в частности, он вместе с Джоном Бентли . [ 27 ]

В 1969 году он разработал эффективный алгоритм для создания всех остовных деревьев в графе (впервые обнаруженный Джорджем Минти в 1965 году). [ 10 ] [ 28 ]

Награды и признание

[ редактировать ]

В 1995 году он был избран членом Американской ассоциации содействия развитию науки . [ 29 ] В 2004 году он выиграл премию USENIX за заслуги перед жанром («Пламя»). [ 30 ] и награда группы пользователей программных средств (STUG). [ 1 ] В 2006 году он был избран членом Национальной инженерной академии . [ 31 ]

Взгляды на компьютеры

[ редактировать ]

Макилрою приписывают цитату: «Настоящий герой программирования — тот, кто пишет негативный код». [ 32 ] где смысл отрицательного кода аналогичен знаменитому Apple разработчику Биллу Аткинсону , командному анекдоту [ 33 ] (т. е. когда изменение исходного кода программы приводит к уменьшению количества строк кода («негативный» код), в то время как его общее качество, читаемость или скорость улучшаются).

См. также

[ редактировать ]

Литература

[ редактировать ]
  • Брок, Дэвид С.; Макилрой, Малкольм Д. (30 сентября 2019 г.). Макилрой, Малкольм (Дуг) Устная история Дугласа, часть 1 из 2 . Музей истории компьютеров . п. 59.
  • Брок, Дэвид С.; Макилрой, Малкольм Д. (6 ноября 2019 г.). Макилрой, Малкольм (Дуг) Устная история Дугласа, часть 2 из 2 . Музей истории компьютеров. п. 52.
  1. ^ Перейти обратно: а б «Премия СТЮГ» . УСЕНИКС. 6 декабря 2011 года . Проверено 5 февраля 2020 г.
  2. ^ Баун, Родни Л., изд. (2–5 июня 1986 г.). «Первая международная конференция по приложениям языка программирования Ada (R) для космической станции НАСА, том 2 - NASA-TM-101202» (PDF) .
  3. ^ Макилрой, Малкольм Дуглас (январь 1969 г.). «Компоненты программного обеспечения массового производства» (PDF) . Программная инженерия: отчет конференции, спонсируемой Научным комитетом НАТО, Гармиш, Германия, 7–11 октября 1968 г. Отдел по научным вопросам НАТО. п. 79.
  4. ^ Перейти обратно: а б Эндрес, Альберт; Ромбах, Х. Дитер (2003). Справочник по программному обеспечению и системной инженерии: эмпирические наблюдения, законы и теории . Пирсон Образование. п. 327.
  5. ^ Перейти обратно: а б с д и ж «Дуглас Макилрой» . HOPL: Интернет-историческая энциклопедия языков программирования .
  6. ^ «М. Дуглас (Малкольм) Макилрой» . Проект математической генеалогии . Проверено 7 февраля 2020 г.
  7. ^ Перейти обратно: а б Лейзелл, П. (1985). «История макропроцессоров в расширяемости языков программирования» . Компьютерный журнал . 28 (1): 29–33. дои : 10.1093/comjnl/28.1.29 .
  8. ^ Дэвид Уолден (2014). «Макровоспоминания, 1964–2013» (PDF) . БУКСИР . 35 (1).
  9. ^ Кришнамурти, Шрирам; Феллейзен, Матиас; Дуба, Брюс Ф. (2000). «От макросов к многоразовому генеративному программированию» (PDF) . В Чарнецком, Кшиштоф; Эйзенекер, Ульрих В. (ред.). Генеративная и компонентная разработка программного обеспечения . Конспекты лекций по информатике. Том. 1799. Берлин, Гейдельберг: Springer. стр. 105–120. дои : 10.1007/3-540-40048-6_9 . ISBN  978-3-540-40048-6 . S2CID   2576063 . Архивировано из оригинала (PDF) 25 ноября 2004 г.
  10. ^ Перейти обратно: а б с д Холбрук, Бернард Д.; Браун, В. Стэнли. «Технический отчет по информатике № 99 - История компьютерных исследований в Bell Laboratories (1937–1975)» . Лаборатории Белла . Архивировано из оригинала 2 сентября 2014 года . Проверено 2 февраля 2020 г.
  11. ^ «Макро SAP – модификация макрокомпилятора SAP» . HOPL: Интернет-историческая энциклопедия языков программирования . Архивировано из оригинала 13 августа 2008 года.
  12. ^ «Bell SAP – SAP с условными и рекурсивными макросами» . HOPL: Интернет-историческая энциклопедия языков программирования . Архивировано из оригинала 21 августа 2007 года.
  13. ^ Мурс, Китай ; Дойч, LP (1965). «TRAC, язык обработки текста». Труды ACM '65 Материалы 20-й национальной конференции 1965 года . стр. 229–246. дои : 10.1145/800197.806048 . S2CID   40013081 .
  14. ^ Коул, Эй Джей (1981). Макропроцессоры (2-е, исправленное изд.). Архив Кубка. п. 254.
  15. ^ Перейти обратно: а б Холл, А.Д., «Система ALTRAN для рационального манипулирования функциями — обзор». Сообщения ACM , 14 (8): 517–521 (август 1971 г.).
  16. ^ Перейти обратно: а б Макилрой, доктор медицины (1987). Читатель Research Unix: аннотированные выдержки из Руководства программиста, 1971–1986 (PDF) (Технический отчет). Вычислительная наука. Лаборатории AT&T Bell. 139.
  17. ^ Перейти обратно: а б с Ричи, Деннис М. (1984). «Эволюция системы разделения времени Unix» . Технический журнал AT&T Bell Laboratories . 63 (6 Часть 2): 1577–93. дои : 10.1002/j.1538-7305.1984.tb00054.x . Архивировано из оригинала 6 мая 2010 года. В формате PDF.
  18. ^ Джонсон, Стивен С. (1975). Yacc: Еще один компилятор-компилятор (Технический отчет). Мюррей Хилл, Нью-Джерси: AT&T Bell Laboratories. 32 . Проверено 31 января 2020 г.
  19. ^ Дзонсонс, Кристапс; Шварце, Инго. «История страниц руководства UNIX» . Практические руководства по UNIX .
  20. ^ «Создание операционной системы UNIX» . Лаборатории Белла. Архивировано из оригинала 14 сентября 2004 года.
  21. ^ Грисволд, Ральф (1978). «История языков программирования СНОБОЛ». Уведомления ACM SIGPLAN . 13 (8). АКМ: 275–308. дои : 10.1145/960118.808393 . ISSN   0362-1340 . S2CID   5413577 .
  22. ^ Лоусон, Гарольд ; Бромберг, Ховард (12 июня 1997 г.). «Первые в мире компиляторы COBOL» . Архивировано из оригинала 4 июня 2004 года.
  23. ^ Майкл С. Махони (18 августа 1989 г.). «Интервью с доктором медицины Макилроем» . Princeton.edu . Мюррей Хилл.
  24. ^ РА Фрибургхаус. «Компилятор Multics PL/1» . Multicians.org .
  25. ^ Том Ван Флек (ред.). «Выбор ПЛ/И» . Multicians.org .
  26. ^ Страуструп, Бьерн . «История C++: 1979–1991» (PDF) .
  27. ^ Джон Л. Бентли; М. Дуглас Макилрой (ноябрь 1993 г.). «Разработка функции сортировки». Программное обеспечение — практика и опыт . 23 (11).
  28. ^ Нарсингх Део (1974). Теория графов с приложениями к технике и информатике . Прентис-Холл. п. 480.
  29. ^ «Избранные члены: список членов, которые являются действующими членами» . aaas.org . Американская ассоциация содействия развитию науки.
  30. ^ «Премия Пламя» . УСЕНИКС. 6 декабря 2011 года . Проверено 5 февраля 2020 г.
  31. ^ «Доктор М. Дуглас Макилрой» . наэ.еду . Национальная инженерная академия . Проверено 5 февраля 2020 г.
  32. Эти цитаты были услышаны во время выступления, которое он дал DLSLUG 3 декабря 2009 г.
  33. ^ «Исходный код MacPaint и QuickDraw» . Музей истории компьютеров . 18 июля 2010 г.
[ редактировать ]
Белл Лаборатории
cs.dartmouth.edu
Происхождение Linux
code.google.com
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 16b2c89b2eb84ddf0844addb8cc720da__1723022100
URL1:https://arc.ask3.ru/arc/aa/16/da/16b2c89b2eb84ddf0844addb8cc720da.html
Заголовок, (Title) документа по адресу, URL1:
Douglas McIlroy - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)