Кен Томпсон

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Кеннет Лейн Томпсон
англ. Kenneth Lane Thompson
Ken n dennis.jpg
Кен Томпсон (зліва) та Деніс Рітчі
Народився 4 лютого 1943(1943-02-04) (71 рік)
Новий Орлеан, Луїзіана США США
Громадянство США США
Галузь наукових інтересів Комп'ютерні науки
Заклад 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.

Біографія[ред.ред. код]

Томпсон народився в Новому Орлеані, США. Своє дитинство він провів, за його словами як navy brat[2] — дитина кадрового військовослужбовця (див. en:Military brat (U.S. 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.

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

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

Нагороди[ред.ред. код]

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

Премія Тюрінга[ред.ред. код]

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

Медаль Річарда Геммінга[ред.ред. код]

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

Національна медаль в галузі технологій та інновацій[ред.ред. код]

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".)

Премія Цуто́му Кана́й[ред.ред. код]

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

Премія Японії[ред.ред. код]

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

Примітки[ред.ред. код]

Посилання[ред.ред. код]