Кен Томпсон
Кен Томпсон | |
---|---|
Рожденный | Кеннет Лейн Томпсон 4 февраля 1943 г. Новый Орлеан , Луизиана , США |
Альма-матер | Калифорнийский университет в Беркли (бакалавр, 1965; магистратура, 1966) |
Известный | |
Награды |
|
Научная карьера | |
Поля | Информатика |
Учреждения |
|
Кеннет Лейн Томпсон (родился 4 февраля 1943 г.) — американский пионер информатики . Большую часть своей карьеры Томпсон проработал в Bell Labs , где разработал и внедрил оригинальную операционную систему Unix . Он также изобрел язык программирования B , прямой предшественник языка C , и был одним из создателей и первых разработчиков операционной системы Plan 9 . С 2006 года Томпсон работал в Google , где был соавтором языка Go .
Другие заметные вклады включали его работу над регулярными выражениями и ранними компьютерными текстовыми редакторами QED и ed , определением кодировки UTF-8 , а также его работу над компьютерными шахматами, которая включала создание баз таблиц эндшпиля и шахматной машины Belle . Он выиграл премию Тьюринга в 1983 году вместе со своим давним коллегой Деннисом Ритчи .
Ранняя жизнь и образование
[ редактировать ]Томпсон родился в Новом Орлеане, штат Луизиана . Когда его спросили, как он научился программировать, Томпсон ответил: «Меня всегда увлекала логика, и даже в начальной школе я решал арифметические задачи в двоичном формате и тому подобное. Просто потому, что я был очарован». [ 3 ]
Томпсон получил степень бакалавра наук в 1965 году и степень магистра в 1966 году как в области электротехники , так и в области компьютерных наук в Калифорнийском университете в Беркли , где руководителем его магистерской диссертации был Элвин Берлекамп . [ 4 ]
Карьера и исследования
[ редактировать ]Томпсон был нанят Bell Labs в 1966 году. [ 5 ] В 1960-х годах в Bell Labs Томпсон и Деннис Ритчи работали над операционной системой Multics . Во время написания Multics Томпсон создал язык программирования Bon. [ 6 ] [ 7 ] Он также создал видеоигру под названием Space Travel . Позже Bell Labs вышла из проекта MULTICS. [ 8 ] Чтобы продолжить игру, Томпсон нашел старую машину PDP-7 и переписал на ней «Космическое путешествие» . [ 9 ] В конце концов, инструменты, разработанные Томпсоном, стали Unix операционной системой : Работая над PDP-7 , группа исследователей Bell Labs под руководством Томпсона и Ритчи, в которую входил Радд Канадай , разработала иерархическую файловую систему , концепции компьютерных процессов и устройств. файлы , интерпретатор командной строки , каналы для простого взаимодействия между процессами и некоторые небольшие служебные программы. В 1970 году Брайан Керниган предложил название «Unix» в форме игры слов на название «Multics». [ 10 ] После первоначальной работы над Unix Томпсон решил, что Unix нужен язык системного программирования, и создал , предшественник языка Ричи C. B [ 11 ]
В 1960-х годах Томпсон также начал работу над регулярными выражениями . Томпсон разработал CTSS- версию редактора QED , которая включала регулярные выражения для поиска текста. Томпсона QED и более поздний редактор (стандартный текстовый редактор для Unix) внесли большой вклад в возможную популярность регулярных выражений, и регулярные выражения стали широко распространены в программах обработки текста Unix. Почти все программы, работающие сегодня с регулярными выражениями, используют тот или иной вариант нотации Томпсона. Он также изобрел алгоритм построения Томпсона, используемый для преобразования регулярных выражений в недетерминированные конечные автоматы, чтобы ускорить сопоставление выражений. [ 12 ]
1970-е годы
[ редактировать ]На протяжении 1970-х годов Томпсон и Ритчи совместно работали над операционной системой Unix; они были настолько плодовиты в Research Unix , что Дуг Макилрой позже написал: «Имена Ричи и Томпсона можно с уверенностью предполагать связанными почти со всем, что не связано иным образом». [ 13 ] В интервью 2011 года Томпсон заявил, что первые версии Unix были написаны им, и что Ричи начал защищать систему и помогал ее развивать: [ 14 ]
Первую из двух или трех версий UNIX я создал в одиночку. И Деннис стал евангелистом. Затем была переписана версия на языке более высокого уровня, который впоследствии стал называться C. Он работал в основном над языком и системой ввода-вывода, а я работал над всей остальной частью операционной системы. Это было для PDP-11 , и это было счастливой случайностью, потому что это был компьютер, который захватил академическое сообщество.
Отзывы о разработке Томпсоном Unix также сыграли важную роль в разработке языка программирования C. Позже Томпсон скажет, что язык C «вырос в результате одной из переписываний системы и, как таковой, стал идеальным для систем письменности ». [ 14 ]
В 1975 году Томпсон взял творческий отпуск в Bell Labs и отправился в свою альма-матер, Калифорнийский университет в Беркли. Там он помог установить Unix версии 6 на PDP-11/70 . Позднее Unix в Беркли стала поддерживаться как отдельная система, известная как Berkeley Software Distribution (BSD). [ 15 ]
В начале 1976 года Томпсон написал первоначальную версию Беркли Паскаля на факультете компьютерных наук факультета электротехники и информатики Калифорнийского университета в Беркли (с обширными изменениями и дополнениями, внесенными позже в том же году Уильямом Джоем и Чарльзом Б. Хейли). [ 16 ] [ 17 ] [ 18 ] и научный руководитель факультета Сьюзен Грэм ).
Томпсон написал программу игры в шахматы под названием «шахматы» для первой версии Unix (1971). [ 19 ] Позже вместе с Джозефом Кондоном Томпсон создал аппаратную программу Belle — чемпион мира по шахматам на компьютере . [ 20 ] Он также написал программы для создания полного перечисления шахматных окончаний, известные как базы таблиц эндшпиля , для всех окончаний из 4, 5 и 6 фигур, что позволяет компьютерным программам, играющим в шахматы, делать «идеальные» ходы после достижения сохраненной в них позиции. . Позже, с помощью эксперта по шахматным эндшпилям Джона Ройкрофта , Томпсон распространил свои первые результаты на компакт-диске . В 2001 году журнал ICGA Journal посвятил почти целый выпуск различным вкладам Томпсона в компьютерные шахматы. [ 19 ]
1980-е годы
[ редактировать ]В 1983 году Томпсон и Ричи совместно получили Премию Тьюринга «за разработку общей теории операционных систем и, в частности, за реализацию операционной системы UNIX». Его вступительная речь «Размышления о доверии к доверию» представила постоянную бэкдор- атаку компилятора, теперь известную как « взлом Томпсона» или атака доверия, и области компьютерной безопасности . сама по себе широко считается плодотворной работой в [ 21 ] В 2023 году аннотированный исходный код бэкдора был опубликован в Интернете. [ 22 ]
На протяжении 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++, заявив: «Он делает многие вещи наполовину хорошо, и это просто куча мусора взаимоисключающих идей». [ 23 ]
1990-е годы
[ редактировать ]разработал схему кодировки UTF-8 В 1992 году Томпсон совместно с Робом Пайком . [ 24 ] Кодировка UTF-8 с тех пор стала доминирующей кодировкой символов во Всемирной паутине , на которую в 2019 году приходилось более 90% всех веб-страниц. [ 25 ]
В 1990-х годах началась работа над операционной системой Inferno , еще одной исследовательской операционной системой, основанной на портативной виртуальной машине . Томпсон и Ричи продолжили сотрудничество с Inferno вместе с другими исследователями из Bell Labs. [ 26 ]
В 1995 году Томпсон сотрудничал в области сжатия музыки с Шоном Дорвардом. основано на оригинальной исследовательской работе, проведенной Джимом Джонстоном под руководством Джо Холла и Джонта Аллена. [ 27 ] [ 28 ]
2000-е
[ редактировать ]В конце 2000 года Томпсон ушел из Bell Labs.
В 2004 году он участвовал во внедрении Turochamp , шахматной программы, разработанной Аланом Тьюрингом в 1948 году, еще до того, как появились компьютеры, способные ее выполнить. [ 29 ]
Он работал в Entrisphere, Inc. научным сотрудником до 2006 года. По состоянию на 2024 год. [update] он работает в Google сначала как заслуженный инженер, а затем как консультант Google. [ 30 ] Недавняя работа включала совместную разработку языка программирования Go . Ссылаясь на себя и других первоначальных авторов Го, он заявляет: [ 14 ]
Когда мы трое [Томпсон, Роб Пайк и Роберт Гриземер ] приступили к работе, это было чистое исследование. Мы втроем собрались и решили, что ненавидим C++. [смех] ... [Вернувшись к Go,] мы начали с идеи, что всех нас троих нужно обсудить с каждой функцией языка, чтобы ни по какой причине в язык не добавлялось постороннего мусора.
Награды
[ редактировать ]Национальные академии
[ редактировать ]В 1980 году Томпсон был избран членом Национальной инженерной академии поколением за «разработку UNIX, операционной системы, эффективность, широта, мощь и стиль которой определили эксплуатацию миникомпьютеров ». [ 31 ] В 1985 году он был избран членом Национальной академии наук . [ 2 ]
Премия Тьюринга
[ редактировать ]В 1983 году Томпсон и Ричи совместно получили Премию Тьюринга «за разработку общей теории операционных систем и, в частности, за реализацию операционной системы UNIX». В своей благодарственной речи «Размышления о доверительном доверии» Томпсон обрисовал атаку в форме бэкдора компилятора , которая получила название « взлом Томпсона» или атака доверительного доверия широко считается плодотворной работой в области компьютерной безопасности и сама по себе . верно. [ 32 ]
Медаль IEEE Ричарда В. Хэмминга
[ редактировать ]В 1990 году Томпсон и Деннис Ритчи получили медаль IEEE Ричарда В. Хэмминга от Института инженеров по электротехнике и электронике (IEEE) «за создание операционной системы UNIX и языка программирования C». [ 33 ]
Сотрудник Музея компьютерной истории.
[ редактировать ]В 1997 году Томпсон и Ричи были удостоены звания членов Музея истории компьютеров за «совместное создание операционной системы UNIX и разработку языка программирования C». [ 34 ]
Национальная медаль технологий
[ редактировать ]27 апреля 1999 года Томпсон и Ричи совместно получили Национальную технологическую медаль 1998 года от президента Билла Клинтона за совместное изобретение операционной системы UNIX и языка программирования C, которые вместе «привели к огромному прогрессу в компьютерном оборудовании, программном обеспечении и сетевых технологиях». систем и стимулировал рост всей отрасли, тем самым усилив лидерство Америки в век информации». [ 35 ]
Премия Цутому Канаи
[ редактировать ]В 1999 году Институт инженеров по электротехнике и электронике выбрал Томпсона для получения первой премии Цутому Канаи «за его роль в создании операционной системы UNIX, которая на протяжении десятилетий была ключевой платформой для работы с распределенными системами». [ 36 ]
Премия Японии
[ редактировать ]В 2011 году Томпсон вместе с Деннисом Ритчи был удостоен Японской премии в области информации и коммуникаций за новаторскую работу в разработке операционной системы Unix. [ 37 ]
Личная жизнь
[ редактировать ]Кен Томпсон женат, у него есть сын. [ 38 ] [ 19 ]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Получатели премии IEEE Эмануэля Р. Пиоре» (PDF) . ИИЭЭ . Архивировано из оригинала (PDF) 24 ноября 2010 г. Проверено 20 марта 2021 г.
- ^ Перейти обратно: а б «Кеннет Томпсон» . www.nasonline.org . Архивировано из оригинала 21 октября 2021 года . Проверено 9 июня 2019 г.
- ^ Зейбель 2009 , с. 450.
- ^ «Диссертанты» . Домашняя страница Элвина Берлекэмпа . Калифорнийский университет, математический факультет Беркли. Архивировано из оригинала 21 октября 2021 года.
- ^ «Кен Томпсон: разработал UNIX в Bell Labs» . Проверено 31 октября 2016 г.
- ^ Томпсон, КЛ (1969). «Руководство пользователя Бон» (PDF) . Проект истории Multics . Документы Multics: Лаборатория компьютерных наук и искусственного интеллекта Массачусетского технологического института. п. 1. Архивировано из оригинала (PDF) 14 февраля 2021 г. Проверено 18 марта 2021 г.
- ^ Ричи, Деннис. «Развитие языка Си» . Лаборатории Белла . Проверено 31 октября 2016 г.
- ^ Дж. Стэнли Уорфорд (2009). Компьютерные системы . Издательство Джонс и Бартлетт. п. 460. ИСБН 978-1-4496-6043-7 .
- ^ Ричи, Деннис М. (2001). «Космические путешествия: исследование Солнечной системы и PDP-7» . Лаборатории Белла . Архивировано из оригинала 26 декабря 2015 года . Проверено 4 февраля 2016 г.
- ^ Ричи, Деннис М. «Эволюция системы разделения времени Unix» . Архивировано из оригинала 21 октября 2021 года . Проверено 31 октября 2016 г.
- ^ Деннис М. Ричи. «Развитие языка Си» . Bell Labs/Lucent Technologies . Проверено 31 октября 2016 г.
- ^ Кокс, Расс. «Сопоставление регулярных выражений может быть простым и быстрым» . Архивировано из оригинала 21 октября 2021 года . Проверено 30 октября 2016 г.
- ^ Макилрой, доктор медицины (1987). Читатель Research Unix: аннотированные выдержки из Руководства программиста, 1971–1986 (PDF) (Технический отчет). CSTR. Лаборатории Белла. 139. Архивировано из оригинала (PDF) 4 мая 2014 года.
- ^ Перейти обратно: а б с «Доктор Добб: Интервью с Кеном Томпсоном» . 18 мая 2011 г. Архивировано из оригинала 21 октября 2021 г. Проверено 10 ноября 2014 г.
- ^ Салус, Питер Х. (2005). «Глава 7. BSD и CSRG» . Демон, Гну и Пингвин . Гроклав .
- ^ «Настройка Unix – седьмое издание» (PDF) . Проверено 3 января 2024 г.
- ^ «BYTE.com» . www.landley.net . Проверено 3 января 2024 г.
- ^ «Компьютерные технологии из темных веков: моя пятидесятилетняя одиссея» . Индико . 25 апреля 2019 г. Проверено 3 января 2024 г.
- ^ Перейти обратно: а б с Деннис Ричи (июнь 2001 г.). «Кен, Unix и игры» . Журнал ICGA . 24 (2). Архивировано из оригинала 21 октября 2021 года . Проверено 5 марта 2020 г.
- ^ «Джо Кондон (некролог)». Физика сегодня . 2013. дои : 10.1063/PT.4.1752 .
- ^ Томпсон, Кен (1984). «Размышления о доверительном доверии» . Коммуникации АКМ . 27 (8): 761–763. дои : 10.1145/358198.358210 .
- ^ Кокс, Расс (25 октября 2023 г.). «Запуск компилятора «Размышления о доверии»» .
- ^ Зейбель 2009 , с. 475.
- ^ Пайк, Роб (30 апреля 2003 г.). «История UTF-8» . Архивировано из оригинала 21 октября 2021 года.
- ^ «Статистика использования и рыночная доля UTF-8 для веб-сайтов, июнь 2019 г.» . w3techs.com . Архивировано из оригинала 21 октября 2021 года . Проверено 9 июня 2019 г.
- ^ Хамличи, М.эл. «Кен Томпсон — отец UNIX-систем» . Юниксмены. Архивировано из оригинала 21 октября 2021 года . Проверено 31 октября 2016 г.
- ^ Платт, Чарльз. «Музыка по запросу» . Проводной . ISSN 1059-1028 . Проверено 3 января 2024 г.
- ^ Кен Томпсон — Заключительный доклад — SCaLE 20x , 13 марта 2023 г. , получено 3 января 2024 г.
- ^ «Реконструкция «бумажной машины» Тьюринга » . 23 сентября 2017 г.
- ^ Школа, Стэнфордский юридический факультет. «Биографии Амичи Курии в деле Oracle America, Inc. против Google, Inc» . Стэнфордская юридическая школа . Проверено 27 июля 2023 г.
- ^ «Доктор Кен Томпсон» . Национальная инженерная академия. Архивировано из оригинала 21 октября 2021 года.
- ^ Томпсон, Кен (1984). «Размышления о доверительном доверии» . Коммуникации АКМ . 27 (8): 761–763. дои : 10.1145/358198.358210 .
- ^ «Обладатели медали Ричарда В. Хэмминга IEEE» (PDF) . ИИЭЭ . Архивировано из оригинала (PDF) 26 июля 2011 г. Проверено 29 мая 2011 г.
- ^ «Кен Томпсон» . Музей истории компьютеров. Архивировано из оригинала 21 октября 2021 года . Проверено 29 октября 2016 г.
- ^ «Корифеи Bell Labs Деннис Ритчи и Кен Томпсон получат Национальную медаль технологий» . ScienceDaily. 8 декабря 1998 г. Архивировано из оригинала 21 октября 2021 г.
- ^ «Кен Томпсон получает премию Канаи за влияние системы UNIX» . Лаборатории Белла. 25 марта 1999 г. Архивировано из оригинала 26 марта 2013 г.
- ^ Евангелиста, Бенни (25 января 2011 г.). «Кен Томпсон и Деннис Ритчи получили премию Японии» . Хроника Сан-Франциско .
- ^ «Кен Томпсон: Краткое введение» . Информационный проект Linux . 24 августа 2007 г. Проверено 5 марта 2020 г.
Источники
- Сейбел, Питер (2009). Программисты за работой – размышления о ремесле программирования ( онлайн ). Нью-Йорк: Апресс . ISBN 978-1-4302-1948-4 (пбк.) ISBN 978-1-4302-1949-1 (электронный)
Внешние ссылки
[ редактировать ]- Размышления о доверии, 1983 года на премию Тьюринга лекция
- Unix и не только: интервью с Кеном Томпсоном Компьютерное общество IEEE
- Кен Томпсон: краткое введение Информационный проект Linux (LINFO)
- Компьютерные шахматы достигают зрелости: фотографии Музей истории компьютеров
- Компьютерные шахматы достигают зрелости: видео интервью с Музеем компьютерной истории Кена Томпсона
- Чтение статьи Х.С. Бэрда и Кена Томпсона «Шахматы» об оптическом распознавании символов.
- Члены Национальной академии наук США
- Американские ученые-компьютерщики
- Американские программисты
- Американские писатели-технологи
- Лауреаты премии Тьюринга
- Мультикс люди
- Unix-люди
- Планируйте 9 человек
- Люди Inferno (операционная система)
- Ученые из Bell Labs
- Обладатели Национальной медали технологий
- Выпускники инженерного колледжа Калифорнийского университета в Беркли
- Разработчики языков программирования
- сотрудники Google
- 1943 года рождения
- Живые люди
- Члены Национальной инженерной академии США
- Американские изобретатели 20-го века
- Люди из Нового Орлеана
- Программисты ядра