Послушайте эту статью
Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Кеннет Лейн Томпсон (родился 4 февраля 1943 г.) - американский пионер компьютерных наук . Томпсон проработал в Bell Labs большую часть своей карьеры, где он разработал и внедрил оригинальную операционную систему Unix . Он также изобрел язык программирования B , прямой предшественник языка программирования C , и был одним из создателей и первых разработчиков операционной системы Plan 9 . С 2006 года Томпсон работал в Google , где он стал соавтором языка программирования Go .

Среди других заметных достижений - его работа над регулярными выражениями и ранними компьютерными текстовыми редакторами QED и ed , определение кодировки UTF-8 и его работа над компьютерными шахматами, которая включала создание эндшпильных таблиц и шахматной машины Belle . Он выиграл премию Тьюринга в 1983 году вместе со своим давним коллегой Деннисом Ричи .

Ранняя жизнь и образование [ править ]

Томпсон родился в Новом Орлеане . Когда его спросили, как он научился программировать, Томпсон сказал: «Я всегда увлекался логикой, и даже в начальной школе я работал над двоичными арифметическими задачами и тому подобным. Просто потому, что я был очарован». [2]

DEC PDP-7 , использованный для начальной работы над Unix

Томпсон получил степень бакалавра наук в 1965 году и степень магистра в 1966 году в области электротехники и компьютерных наук в Калифорнийском университете в Беркли , где руководителем его магистерской диссертации был Элвин Берлекамп . [3]

Карьера и исследования [ править ]

Томпсон был нанят Bell Labs в 1966 году. [4] В 1960-х годах в Bell Labs Томпсон и Деннис Ричи работали над операционной системой Multics . Во время написания Multics Томпсон создал язык программирования Bon . [5] Он также создал видеоигру под названием Space Travel . Позже Bell Labs вышла из проекта MULTICS. [6] Чтобы продолжить игру, Томпсон нашел старую машину PDP-7 и переписал на ней « Космическое путешествие» . [7] В конце концов, инструменты, разработанные Томпсоном, превратились в операционную систему Unix :PDP-7 , группа исследователей Bell Labs во главе с Томпсоном и Ричи, в том числе Радд Канадей , разработала иерархическую файловую систему , концепции компьютерных процессов и файлов устройств , интерпретатор командной строки , каналы для облегчения взаимодействия между процессами, и несколько небольших служебных программ. В 1970 году Брайан Керниган предложил название «Unix», использовав каламбур над названием «Multics». [8] После первоначальной работы над Unix, Томпсон решил, что Unix нужен язык системного программирования, и создал B , предшественник C Ричи . [9]

В 1960-х Томпсон также начал работать над регулярными выражениями . Томпсон разработал CTSS- версию редактора QED , которая включала регулярные выражения для поиска текста. QED , а затем редактор Томпсона редактор (стандартный текстовый редактор на Unix) внесли большой вклад в конечном итоге популярность регулярных выражений, а также регулярные выражения стали широко распространены в программах обработки текста Unix. Почти все программы, которые сегодня работают с регулярными выражениями, используют тот или иной вариант нотации Томпсона. Он также изобрел алгоритм построения Томпсона, используемый для преобразования регулярного выражения в недетерминированный конечный автомат , чтобы ускорить сопоставление выражений. [10]

1970-е [ править ]

Томпсон (сидит) и Ричи вместе работают над PDP-11
Версия 6 Unix, работающая на симуляторе SIMH PDP-11 , все еще присутствует "/ usr / ken"

На протяжении 1970-х годов Томпсон и Ричи работали над операционной системой Unix; они настолько повлияли на Research Unix, что позже Дуг Макилрой написал: «Можно с уверенностью предположить, что имена Ричи и Томпсона связаны почти со всем, что не приписывается другим образом». [11] В интервью 2011 года Томпсон заявил, что первые версии Unix были написаны им, и что Ричи начал защищать систему и помогал в ее разработке: [12]

Я в одиночку создал первую из двух или трех версий UNIX. И Деннис стал евангелистом. Затем был переписан язык более высокого уровня, который впоследствии стал называться C. Он работал в основном над языком и системой ввода-вывода, а я работал над всей остальной операционной системой. Это было для PDP-11 , что было случайностью, потому что это был компьютер, который захватил академическое сообщество.

Обратная связь с разработкой Томпсона для Unix также сыграла важную роль в разработке языка программирования C. Позже Томпсон скажет, что язык C «вырос в результате одной из переписываний системы и, как таковой, стал идеальным для систем письма ». [12]

В 1975 году Томпсон взял творческий отпуск в Bell Labs и отправился в свою альма-матер, Калифорнийский университет в Беркли. Там он помог установить Unix версии 6 на PDP-11/70 . Позже Unix в Беркли станет отдельной системой, известной как Berkeley Software Distribution (BSD). [13]

Кен Томпсон написал шахматную программу под названием «шахматы» для первой версии Unix (1971). [14] Позже, вместе с Джозефом Кондоном , Томпсон создал аппаратную программу Belle , чемпион мира по шахматам . [15] Он также написал программы для генерации полного перечня шахматных окончаний, известные как таблицы эндшпиля , для всех концовок с 4, 5 и 6 частями, позволяющие компьютерным программам, играющим в шахматы, делать «идеальные» ходы после того, как позиция сохранена в их достигнуто. Позже, с помощью эксперта по шахматному эндшпилю Джона Ройкрофта , Томпсон распространил свои первые результаты на CD-ROM . В 2001 г.Журнал ICGA посвятил почти целый выпуск различным вкладам Кена Томпсона в компьютерные шахматы. [14]

1980-е [ править ]

Plan 9 от Bell Labs , запустив акме текстовый редактор, и гс оболочки

На протяжении 1980-х годов Томпсон и Ричи продолжали пересматривать Research Unix, которая приняла кодовую базу BSD для 8-го, 9-го и 10-го изданий. В середине 1980-х в Bell Labs началась работа над новой операционной системой, которая могла бы заменить Unix. Томпсон сыграл важную роль в разработке и реализации Plan 9 от Bell Labs , новой операционной системы, использующей принципы Unix, но применяющей их в более широком смысле ко всем основным средствам системы. Некоторые программы, которые были частью более поздних версий Research Unix, такие как mk и rc , также были включены в Plan 9.

Томпсон протестировал ранние версии языка программирования C ++ для Бьярна Страуструпа , написав на нем программы, но позже отказался работать на C ++ из-за частой несовместимости версий. В интервью 2009 года Томпсон выразил негативное мнение о C ++, заявив: «Он делает многие вещи наполовину хорошо, и это просто куча мусора, взаимоисключающих друг друга». [16]

1990-е [ править ]

В 1992 году Томпсон разработал схему кодирования UTF-8 вместе с Робом Пайком . [17] Кодировка UTF-8 с тех пор стала доминирующей кодировкой символов во всемирной паутине , составляя более 90% всех веб-страниц в 2019 году. [18]

В 1990-х годах началась работа над операционной системой Inferno , еще одной исследовательской операционной системой, основанной на портативной виртуальной машине . Томпсон и Ричи продолжили сотрудничество с Inferno вместе с другими исследователями Bell Labs. [19]

2000-е [ править ]

В конце 2000 года Томпсон ушел из Bell Labs. Он работал в Entrisphere, Inc. в качестве научного сотрудника до 2006 года, а теперь работает в Google в качестве заслуженного инженера. Недавняя работа включала совместную разработку языка программирования Go . Ссылаясь на себя вместе с другими оригинальными авторами Go, он заявляет: [12]

Когда мы втроем [Томпсон, Роб Пайк и Роберт Гриземер ] начали, это было чистое исследование. Мы втроем собрались и решили, что ненавидим C ++. [смех] ... [Возвращаясь к Go,] мы начали с идеи, что всех троих нужно обсудить с каждой особенностью языка, чтобы в язык не было постороннего мусора по какой-либо причине.

Согласно интервью 2009 года, Томпсон теперь использует операционную систему на базе Linux . [20]

Награды [ править ]

Национальные академии [ править ]

В 1980 году Томпсон был избран членом Национальной инженерной академии за «разработку UNIX, операционной системы, эффективность, широта, мощность и стиль которой определяют использование миникомпьютеров целым поколением ». [21] В 1985 году он был избран членом Национальной академии наук (НАН). [1]

Премия Тьюринга [ править ]

В 1983 году Томпсон и Ричи совместно получили премию Тьюринга «за разработку общей теории операционных систем и, в частности, за реализацию операционной системы UNIX». В его благодарственной речи «Размышления о доверии» описывалась бэкдорная атака, известная теперь как взлом Томпсона или атака на доверие, и которая сама по себе широко считается основополагающей работой по компьютерной безопасности . [22]

Медаль Ричарда В. Хэмминга IEEE [ править ]

В 1990 году и Томпсон, и Деннис Ричи получили медаль Ричарда У. Хэмминга IEEE от Института инженеров по электротехнике и электронике (IEEE) «за создание операционной системы UNIX и языка программирования C». [23]

Сотрудник Музея компьютерной истории [ править ]

В 1997 году , как Томпсон и Ритчи были введены в качестве стипендиатов в Музее компьютерной истории для «совместного создания операционной системы UNIX, а также для разработки языка программирования C». [24]

Национальная медаль технологий [ править ]

27 апреля 1999 года Томпсон и Ричи совместно получили Национальную медаль технологий 1998 года от президента Билла Клинтона за совместное изобретение операционной системы UNIX и языка программирования C, которые вместе «привели к огромным достижениям в области компьютерного оборудования, программного обеспечения и сетей. систем и стимулировал рост всей отрасли, тем самым укрепив лидерство Америки в информационном веке ". [25]

Премия Цутому Канаи [ править ]

В 1999 году Институт инженеров по электротехнике и электронике выбрал Томпсона для получения первой премии Цутому Канаи «за его роль в создании операционной системы UNIX, которая на протяжении десятилетий была ключевой платформой для работы распределенных систем». [26]

Премия Японии [ править ]

В 2011 году Томпсон вместе с Деннисом Ричи был награжден Японской премией в области информации и коммуникаций за новаторскую работу в разработке операционной системы Unix. [27]

Личная жизнь [ править ]

Кен Томпсон женат, имеет сына. [28] [14]

Ссылки [ править ]

  1. ^ а б "Кеннет Томпсон" . www.nasonline.org . Проверено 9 июня 2019 года .
  2. ^ Сейбел 2009 , стр. 450.
  3. ^ "Студенты дипломной работы" . Домашняя страница Элвина Берлекампа . Калифорнийский университет, математический факультет Беркли.
  4. ^ «Кен Томпсон: разработал UNIX в Bell Labs» . Проверено 31 октября, 2016 .
  5. ^ Ричи, Деннис. «Развитие языка Си» . Bell Labs . Проверено 31 октября, 2016 .
  6. ^ J. Stanley Warford (2009). Компьютерные системы . Издательство "Джонс и Бартлетт". п. 460. ISBN 978-1-4496-6043-7.
  7. ^ Ричи, Деннис М. (2001). «Космическое путешествие: исследование Солнечной системы и PDP-7» . Bell Labs . Архивировано 26 декабря 2015 года . Проверено 4 февраля, 2016 .
  8. ^ Ричи, Деннис М. "Эволюция системы разделения времени Unix" . Проверено 31 октября, 2016 .
  9. ^ Деннис М. Ричи. «Развитие языка Си» . Bell Labs / Lucent Technologies . Проверено 31 октября, 2016 .
  10. ^ Кокс, Расс. «Сопоставление регулярных выражений может быть простым и быстрым» . Проверено 30 октября, 2016 .
  11. Перейти ↑ McIlroy, MD (1987). Читатель Research Unix: аннотированные выдержки из Руководства программиста, 1971–1986 (PDF) (технический отчет). CSTR. Bell Labs. 139.
  12. ^ a b c "Доктор Добб: Интервью с Кеном Томпсоном" . 18 мая 2011 . Проверено 10 ноября 2014 года .
  13. ^ Салус, Питер Х. (2005). «Глава 7. BSD и CSRG» . Демон, Гну и Пингвин . Гроклав .
  14. ^ a b c Деннис Ричи (июнь 2001 г.). «Кен, Unix и игры» . Журнал ICGA . 24 (2) . Проверено 5 марта 2020 года .
  15. ^ «Джо Кондон (некролог)». Физика сегодня . 2013. DOI : 10,1063 / PT.4.1752 .
  16. ^ Сейбел 2009 , стр. 475.
  17. Пайк, Роб (30 апреля 2003 г.). «История UTF-8» .
  18. ^ «Статистика использования и рыночная доля UTF-8 для веб-сайтов, июнь 2019» . w3techs.com . Проверено 9 июня 2019 года .
  19. ^ Khamlichi, M.el. "Отец систем UNIX Кена Томпсона" . Unixmen . Проверено 31 октября, 2016 .
  20. ^ Сейбел 2009 , стр. 479.
  21. ^ "Доктор Кен Томпсон" . Национальная инженерная академия.
  22. ^ Томпсон, Кен (1984). «Размышления о доверии» . Коммуникации ACM . 27 (8): 761–763. DOI : 10.1145 / 358198.358210 .
  23. ^ "Получатели медали Ричарда У. Хэмминга IEEE" (PDF) . IEEE . Архивировано из оригинального (PDF) 26 июля 2011 года . Проверено 29 мая 2011 года .
  24. ^ "Кен Томпсон" . Музей истории компьютеров . Проверено 29 октября, 2016 .
  25. ^ "Светильники Bell Labs Деннис Ричи и Кен Томпсон, чтобы получить Национальную медаль технологий" . ScienceDaily. 8 декабря 1998 г.
  26. ^ «Кен Томпсон получает премию Канаи за влияние системы UNIX» . Bell Labs. 25 марта, 1999. Архивировано из оригинального 26 марта 2013 года .
  27. Евангелиста, Бенни (25 января 2011 г.). «Кен Томпсон и Деннис Ричи выиграли приз Японии» . Хроники Сан-Франциско .
  28. ^ «Кен Томпсон: краткое введение» . Информационный проект Linux . 24 августа 2007 . Проверено 5 марта 2020 года .

Источники

  • Сейбел, Питер (2009). Кодеры за работой - размышления о ремесле программирования ( онлайн ). Нью-Йорк: Апресс . ISBN 978-1-4302-1948-4 (pbk.) ISBN 978-1-4302-1949-1 (электронный)  

Внешние ссылки [ править ]

Послушайте эту статью ( 4 минуты )
Разговорный значок Википедии
Этот аудиофайл был создан на основе редакции этой статьи от 17 июня 2006 г. и не отражает последующих правок. ( 2006-06-17 )
  • Кен Томпсон , Bell Labs
  • Размышления о доверии Лекция по премии Тьюринга 1983 года
  • Unix и не только: интервью с Кеном Томпсоном Компьютерное общество IEEE
  • Кен Томпсон: краткое введение в информационный проект Linux (LINFO)
  • Компьютерные шахматы достигают совершеннолетия: фотографии Музей истории компьютеров
  • Компьютерные шахматы достигают совершеннолетия: видео интервью с Музеем компьютерной истории Кена Томпсона
  • Чтение статьи HS Baird и Ken Thompson Chess об оптическом распознавании символов