Кен Томпсон

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Кеннет Лейн Томпсон
англ. Kenneth Lane Thompson
Кен Томпсон (зліва) та Деніс Рітчі
Кен Томпсон (зліва) та Деніс Рітчі
Кен Томпсон (зліва) та Деніс Рітчі
Народився4 лютого 1943(1943-02-04) (81 рік)
Новий Орлеан, Луїзіана США США
КраїнаСША США
Діяльністьпрограміст, інформатик
Alma materУніверситет Каліфорнії, Берклі
ГалузьКомп'ютерні науки
ЗакладBell Labs
Entrisphere, Inc
Google Inc.
ЧленствоНаціональна академія наук США
Американська академія мистецтв і наук
Національна інженерна академія США
Association for Computing Machinery[1]
Відомий завдяки:UNIX
мова програмування B
шаховий комп'ютер Belle
UTF-8
Бази даних ендшпілю
Go
Нагороди
Особ. сторінкаcs.bell-labs.co/who/ken/

Ке́ннет Лейн То́мпсон (англ. Kenneth Lane Thompson); нар. 4 лютого 1943 року, знаний в хакерських колах як ken[2], піонер комп'ютерної науки. Пропрацювавши в Bell Labs протягом більшої частини своєї теперішньої кар'єри, Томпсон відомий розробкою мови програмування B (базувалась в основному на мові BCPL), яку він використовував для написання операційної системи Unix під час роботи в проєкті Multics, роботою з мовою програмування C, як один з творців і ранніх розробників операційних систем Unix і Plan 9.

Інші помітні внески Кена Томпсона: робота з регулярними виразами (конструкція Томпсона) і ранніми комп'ютерними текстовими редакторами QED і ed, робота над комп'ютерними шахами, яка включала створення бази даних ендшпілю і шахової машини Belle[en], а останнім часом він став одним з творців мови програмування Go, розробленої Google.

Біографія

[ред. | ред. код]

Томпсон народився в Новому Орлеані, США. Своє дитинство він провів, за його словами як navy brat[3] — дитина кадрового військовослужбовця (див. Military brat (U.S. subculture)[en]). Він здобув ступені бакалавра в 1965 р. і магістра в 1966 р. у галузі електротехніки та інформатики в Університеті Каліфорнії, Берклі, де його керівником магістерської дисертації був Елвін Берлекемп (Elwyn Berlekamp)[4]. В 1966 р. Кен Томпсон почав працювати в Bell Labs.

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

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

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

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

З книги Пітера Сайбела «Кодери в Роботі: Роздуми про Ремесло Програмування»

[ред. | ред. код]

Ця книга[7] містить інтерв'ю з 15 видатними програмістами. Передмову до інтерв'ю з Кеном Томпсоном Пітер Сайбел (Peter Seibel[8]) починає абзацом: «Кен Томпсон є оригінальним бородатим хакером Unix. Він витратив кар'єру, працюючи над тим, що він вважав цікавим, яке, в різний час, включало аналогові обчислення, системи програмування, регулярні вирази і комп'ютерні шахи.», а закінчує словами: «В цьому інтерв'ю він говорив про свою ранню любов до електроніки, про доволі неортодоксальну академічну кар'єру, що забезпечили йому навчальні курси, коли він був ще студентом і про те, чому його лякає сучасне програмування». На перше питання інтерв'ю: «Як ви навчились програмувати?» Томпсон відповів: «Я завжди був зачарований логікою і навіть у початковій школі я працював над арифметичними задачами у двійковій, все в такому дусі. Просто тому, що я був зачарований».

Нагороди

[ред. | ред. код]

Премія Тюрінга

[ред. | ред. код]

У 1983 році Томпсон та Рітчі разом отримали Премію Тюрінга «За їхню розробку загальної теорії операційних систем і особливо за реалізацію операційної системи UNIX». При отриманні Премії Тюрінга Кен Томпсон виступив з промовою «Reflections on Trusting Trust»[9]Критика довірливості», дослівно «Роздуми про довірливу довіру»). У промові він говорив про найкоротшу самовідтворюючу програму; про те, що компілятор C написаний на С; про те, як в компілятор С можна вбудувати троянського коня (бекдор атака, зараз відома як Томпсон хак), вилучивши його після компіляції з сирцевого коду. Опис такої атаки вважається основоположною роботою в галузі комп'ютерної безпеки. Томпсон робить висновок (мораль): «Ви не можете довіряти тому коду, який ви не створили повністю самі.»

Медаль Річарда Геммінга

[ред. | ред. код]

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

Національна медаль в галузі технологій та інновацій

[ред. | ред. код]

27 квітня 1999 р. Томсон і Рітчі отримали Національну медаль в галузі технологій 1998 року від президента Білла Клінтона «За їхній винахід операційної системи UNIX та мови програмування С, які разом призвели до величезних вдосконалень в комп'ютерних апаратних, програмних і мережевих системах і стимулювали зростання всієї промисловості, зміцнюючи тим самим американське лідерство у вік інформації»[10][11]. (На офіційному сайті[12] Національної медалі дещо коротший текст: «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».)

Премія Цуто́му Кана́й

[ред. | ред. код]

10 червня 1999 р. Комп'ютерне Товариство Інституту Інженерів з Електроніки та Електротехніки нагородило Кена Томпсона Премією Цутому Канай[en] (премія заснована в 1997 р., Томпсон став першим лауреатом) «За створення операційної системи UNIX, яка більше 20 років була ключовою платформою для роботи розподілених систем»[13].

Премія Японії

[ред. | ред. код]

У січні 2011 р. Томсон спільно з Рітчі нагороджені Премією Японії "За розробку UNIX"[14].

Примітки

[ред. | ред. код]
  1. https://www.acm.org/media-center/2021/january/fellows-2020
  2. ken: /ken/, n. The Jargon File (version 4.4.7). Архів оригіналу за 24 червня 2011. Процитовано 2 лютого 2011.
  3. Ken Thompson: A Brief Introduction [Архівовано 10 жовтня 2011 у Wayback Machine.] - by The Linux Information Project (LINFO)
  4. Thesis Students. math.berkeley.edu (англ.). Архів оригіналу за 15 березня 2021. Процитовано 7 лютого 2011.
  5. Dennis M. Ritchie. The Development of the C Language*. Bell Labs/Lucent Technologies. Архів оригіналу за 3 лютого 2015. Процитовано 18 лютого 2011.
  6. Pike, Rob. Листування Роба Пайка з Кеном Томпсоном та іншими про історію розробки UTF-8. Архів оригіналу за 1 березня 2011. Процитовано 28 лютого 2011.
  7. Seibel, Peter (16 вересня 2009). Coders at Work: Reflections on the Craft of Programming. Apress. Архів оригіналу за 21 квітня 2021. Процитовано 2 червня 2021. (англ.)
  8. Архівована копія. Архів оригіналу за 29 квітня 2011. Процитовано 7 лютого 2011.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  9. Reflections on Trusting Trust. Промова при отриманні Премії Тюрінга. Архів оригіналу за 25 травня 2012. Процитовано 19 лютого 2011.
  10. Ritchie and Thompson [to] Get National Medal of Technology [Архівовано 27 березня 2006 у Wayback Machine.] Bell Labs pre-announcement (англ.)
  11. Ritchie and Thompson Receive National Medal of Technology from President Clinton [Архівовано 11 жовтня 2003 у Wayback Machine.] Bell Labs press release (англ.)
  12. Архівована копія. Архів оригіналу за 29 червня 2011. Процитовано 26 березня 2011.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  13. Архівована копія. Архів оригіналу за 15 березня 2011. Процитовано 2 квітня 2011.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  14. Архівована копія. Архів оригіналу за 5 березня 2021. Процитовано 2 квітня 2011.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)

Посилання

[ред. | ред. код]