Кен Томпсон

Кеннет Лейн Томпсон
англ. Kenneth Lane Thompson
Ken n dennis.jpg
Кен Томпсон (слева) и Денис Ритчи
Родился 4 февраля 1943 ( 1943-02-04 ) (70 лет)
Новый Орлеан, Луизиана США США
Гражданство США США
Область научных интересов Компьютерные науки
Заведение Bell Labs
Entrisphere, Inc
Google Inc.
Alma mater Университет Калифорнии, Беркли
Известен: UNIX
язык B
шахматный компьютер Belle
UTF-8
Базы данных эндшпиля
Награды Премия Тьюринга
Национальная медаль за развитие технологий
en: Tsutomu Kanai Award (Премия Цутому Канай)

Кеннет Лейн Томпсон ( англ. Kenneth Lane Thompson ), Родился 4 февраля 1943 года, известный в хакерских кругах как ken [1], пионер компьютерной науки. Проработав в Bell Labs в течение большей части своей нынешней карьеры, Томпсон известен разработкой языка программирования B (базировалась в основном на языке BCPL), которую он использовал для написания операционной системы Unix при работе в проекте MULTICS), работой с языке программирования C как один из создателей и ранних разработчиков операционных систем Unix и Plan 9.

Другие заметный вклад Кена Томпсона: работа с регулярными выражениями ( конструкция Томпсона) и ранними компьютерными текстовыми редакторами QED и ed, работа над компьютерными шахматами, которая включала создание базы данных эндшпиля и шахматной машины Belle, а в последнее время он стал одним из создателей языки программирования Go, разработанной Google.


1. Биография

Томпсон родился в Новом Орлеане, США. Свое детство он провел, по его словам как navy brat [2] - ребенок кадрового военнослужащего (см. en: Military brat (US subculture)). Он получил степени бакалавра в 1965 г. и магистра в 1966., в области электротехники и информатики в Университете Калифорнии, Беркли, где его руководителем магистерской диссертации был Элвин Берлекэмпа (Elwyn Berlekamp) [3]. В 1966 г. Кен Томпсон начал работать в Bell Labs.

В 1960-х гг Томпсон и Денис Ритчи разрабатывали операционную систему Multics. Оставляя Multics, Кен Томпсон создал язык программирования Bon. Оба покинули проект Multics, когда Bell Labs отказалась от него в 1969 г. Но они использовали опыт проекта и того же года стали главными творцами операционной системы Unix. Томпсон решил, что Unix требует языка программирования системы и разработал язык программирования B, которая стала предшественницей языка программирования C, впоследствии разработанной Ритчи. [4]

Томпсон разработал версию редактора QED для CTSS (одной из первых операционных систем с разделением времени), которая включала регулярные выражения для поиска текста. QED и поздний редактор Томпсона ed (редактор по умолчанию в Unix) внесли большой вклад в популярность регулярных выражений, которые ранее рассматривались в основном как инструмент (или игрушка) для логики. Регулярные выражения стали распространенными в программах обработки текстов в Unix как утилита grep и современных языках программирования как Perl, они также главной концепцией в текстовом редакторе sam канадского разработчика Unix Роба Пайка. Почти все программы, которые работают с регулярными выражениями, теперь используют определенный вариант нотации Томпсона для этих выражений.

Томпсон вместе с Робом Пайком [5] в 1992 г. разработал широкоупотребляемой схему кодирования символов UTF-8.

Вместе с Джозефом Кондоном (Joseph Condon), он создал аппаратное и программное обеспечение для Belle, чемпиона среди шахматных компьютеров. Он также написал программы для получения полного списка эндшпилей, известного как базы данных эндшпиля, 4, 5 и 6 фигур, чтобы приложения для игры в шахматы делать лучшие ходы в позиция, хранящиеся в этих базах. Позже, с помощью эксперта по эндшпилей Джона Ройкрофта (John Roycroft), Томпсон распространил свои первые результаты на CD-ROM.


2. Из книги Питера Сайбель "Кодеры в Работе: Размышления о Ремесло Программирование"

Эта книга [6] содержит интервью с 15 выдающимися программистами. Предисловие к интервью с Кеном Томпсоном Питер Сайбель (Peter Seibel [7]) начинает абзацем: "Кен Томпсон является оригинальным бородатым хакером Unix. Он потратил карьеру, работая над тем, что он считал интересным, которое, в разное время, включало аналоговые вычисления, системы программирования, регулярные выражения и компьютерные шахматы. ", а заканчивает словами:" В этом интервью он говорил о своем раннем любовь к электронике, о довольно неортодоксальную академическую карьеру, обеспечивших ему учебные курсы, когда он был еще студентом и о том, почему его пугает современное программирование ". На первый вопрос интервью: "Как вы научились программировать?" Томпсон ответил: "Я всегда был очарован логике и даже в начальной школе я работал над арифметическими задачами в двоичной, все в таком духе. Просто потому, что я был очарован".


3. Награды

Кен Томпсон (слева) и Ритчи (в центре) получают Национальную медаль за развитие технологий от президента Билла Клинтона.

3.1. Премия Тьюринга

В 1983 году Томпсон и Ритчи вместе получили Премию Тьюринга По их разработку общей теории операционных систем и особенно при реализации операционной системы UNIX. При получении Премии Тьюринга Кен Томпсон выступил с речью Reflections on Trusting Trust [8] (Критика доверчивости, дословно Размышления о доверчивую доверие). В речи он говорил о короткую самовидтворну программу, о том, что компилятор C написан на С, о том как в компилятор С можно встроить троянского коня (бэкдор атака, сейчас известная как Томпсон хак), удалив его после компиляции с исходного кода. Описание такой атаки считается основополагающей работой в области компьютерной безопасности. Томпсон заключает (мораль): "Вы не можете доверять тому кода, который вы не создали полностью сами."


3.2. Медаль Ричарда Гемминг

В 1990 Кен Томпсон также совместно с Денисом Ритчи были награждены медалью Ричарда Гемминг За создание операционной системы UNIX и языка программирования С.

3.3. Национальная медаль в области технологий и инноваций

27 апреля 1999 Томсон и Ритчи получили Национальную медаль в области технологий и инноваций в 1998 году от президента Билла Клинтона По их изобретение операционной системы UNIX и языка программирования С, которые вместе привели к огромным усовершенствований в компьютерных аппаратных, программных и сетевых системах и стимулировали рост всей промышленности, укрепляя тем самым американское лидерство в век информации [9] [10]. (На официальном сайте [11] Национальной медали) несколько короче текст: For their invention of UNIX ? operating system and the C programming language, which together have led to enormous growth of an entire industry, thereby enhancing American leadership in the Information Age.)


3.4. Премия Цутому Канай)

10 июня 1999 Компьютерное Общество Института Инженеров с Электроники и электротехники наградило Кена Томпсона Премией Цутому Канай (премия учреждена в 1997 г., Томпсон стал первым лауреатом) За создание операционной системы UNIX, которая более 20 лет была ключевой платформой для работы распределенных систем [12].

3.5. Премия Японии

В январе 2011 р.Томсон совместно с Ритчи награждены Премией Японии За разработку UNIX [13].

Примечания

  1. "Ken: / ken /, n.". The Jargon File (version 4.4.7).
  2. Ken Thompson: A Brief Introduction - by The Linux Information Project (LINFO)
  3. http://math.berkeley.edu/ ~ berlek / students.html
  4. Dennis M. Ritchie. "The Development of the C Language *". Bell Labs / Lucent Technologies.
  5. Rob Pike. "Переписка Роба Пайка с Кеном Томпсоном и другими об истории разработки UTF-8".
  6. http://codersatwork.com/
  7. Reflections on Trusting Trust. Речь при получении премии Тьюринга
  8. Ritchie and Thompson [to] Get National Medal Of Technology Bell Labs Pre-announcement (Англ.)
  9. Ritchie And Thompson Receive National Medal Of Technology From President Clinton Bell Labs Press Release (Англ.)
  10. http://www.uspto.gov/about/nmti/recipients/1998.jsp
  11. http://www.computer.org/portal/web/awards/kanai/
  12. http://www.japanprize.jp/en/index.html