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