Кен Томпсон
Кен Томпсон — американский учёный в области информатики, один из создателей операционной системы Unix, языка программирования B, а также соавтор языка Go. Лауреат премии Тьюринга (1983, совместно с Деннисом Ритчи) и Национальной медали США в области технологий (1998). Внёс значительный вклад в теорию компиляторов, регулярных выражений и компьютерную безопасность.
Биография
Кеннет Лейн Томпсон (Kenneth Lane Thompson) родился 4 февраля 1943 года в Новом Орлеане, штат Луизиана. В 1965 году получил степень бакалавра, а в 1966 году — магистра по электротехнике и информатике в Калифорнийском университете в Беркли. В 1966 году начал работать в Bell Labs (исследовательское подразделение AT&T), где провёл большую часть своей карьеры.
В 1969 году, совместно с Деннисом Ритчи, Томпсон разработал операционную систему Unix, которая оказала фундаментальное влияние на развитие вычислительных систем. В 1970-е годы он участвовал в создании языка программирования C (совместно с Ритчи) и языка B (предшественника C). В 1980-е годы работал над архитектурой суперкомпьютеров и системами распределённых вычислений.
В 2000 году Томпсон ушёл из Bell Labs, но продолжил заниматься программированием. В 2006 году он присоединился к компании Google, где совместно с Робертом Гризмером и Робом Пайком разработал язык программирования Go (выпущен в 2009 году). После выхода на пенсию в конце 2000-х годов занимался экспериментальной авиацией и пилотированием.
Вклад в информатику
Операционная система Unix
Основной вклад Томпсона — создание Unix. В 1969 году, после отказа Bell Labs от проекта Multics, Томпсон и Ритчи начали разработку новой операционной системы на миникомпьютере PDP-7. Ключевые принципы Unix: модульность, переносимость (написан на C), многозадачность и простота инструментов. Unix стал основой для множества современных операционных систем, включая Linux, macOS и BSD.
Языки программирования
Томпсон разработал язык B (1970), который был упрощённой версией BCPL. Впоследствии Деннис Ритчи на основе B создал язык C, ставший одним из самых влиятельных языков программирования. В 2009 году Томпсон стал соавтором Go — языка, ориентированного на эффективную параллельную обработку и простоту синтаксиса.
Регулярные выражения
В 1968 году Томпсон реализовал первую версию механизма регулярных выражений для редактора QED. Он создал алгоритм компиляции регулярных выражений в код на машинном уровне, что стало основой для современных инструментов (grep, sed, awk). Эта работа заложила основы теории формальных языков и компиляторов.
Компьютерная безопасность
В 1984 году Томпсон опубликовал статью «Reflections on Trusting Trust», в которой описал уязвимость, названную «атакой Томпсона». Он продемонстрировал, что можно внедрить бэкдор в компилятор, который будет вставлять вредоносный код в скомпилированные программы, при этом исходный код компилятора может быть чистым. Эта работа стала классической в области компьютерной безопасности.
Шахматные программы
Томпсон написал несколько шахматных программ, в том числе Belle (1970-е годы), которая стала первой программой, получившей звание мастера по шахматам (USCF). Belle использовала специализированное аппаратное обеспечение для оценки позиций и была одной из первых программ, способных играть на уровне гроссмейстера.
Награды и признание
- Премия Тьюринга (1983) — совместно с Деннисом Ритчи за разработку Unix.
- Национальная медаль США в области технологий (1998) — за вклад в информатику.
- Премия IEEE имени Ричарда Хэмминга (1990).
- Член Национальной академии наук США (1985).
- Член Американской академии искусств и наук (1993).
Личные качества и стиль работы
Томпсон известен своей скромностью, минимализмом в коде и нелюбовью к сложным системам. Он предпочитал простые, эффективные решения и часто писал программы на ассемблере. В интервью он отмечал, что «Unix был написан для себя, а не для продажи». Томпсон также известен своим увлечением авиацией: он получил лицензию пилота и самостоятельно построил лёгкий самолёт.
Интересные факты
- В 1969 году Томпсон написал первую версию Unix за один месяц на бумаге, так как не имел доступа к компьютеру.
- Он является автором знаменитой фразы: «Я не могу представить, как кто-то может работать без Unix».
- В 2006 году Томпсон участвовал в разработке Go, но его роль была скорее консультативной — он предложил ключевые идеи синтаксиса и типизации.
- Томпсон отказался от премии Тьюринга в 1983 году (денежную часть передал в фонд), но принял саму награду.
Источники
- Ritchie, D. M. (1993). «The Evolution of the Unix Time-sharing System». AT&T Bell Laboratories.
- Thompson, K. (1984). «Reflections on Trusting Trust». Communications of the ACM, 27(8), 761–763.
- Salus, P. H. (1994). «A Quarter Century of UNIX». Addison-Wesley.
- Биография Кена Томпсона на сайте Bell Labs (архив).
- Интервью с Кеном Томпсоном для журнала «Dr. Dobb’s Journal» (2000).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →