Открыть сервис

Кен Томпсон

Кен Томпсон — американский учёный в области информатики, один из создателей операционной системы 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 использовала специализированное аппаратное обеспечение для оценки позиций и была одной из первых программ, способных играть на уровне гроссмейстера.

Награды и признание

Личные качества и стиль работы

Томпсон известен своей скромностью, минимализмом в коде и нелюбовью к сложным системам. Он предпочитал простые, эффективные решения и часто писал программы на ассемблере. В интервью он отмечал, что «Unix был написан для себя, а не для продажи». Томпсон также известен своим увлечением авиацией: он получил лицензию пилота и самостоятельно построил лёгкий самолёт.

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →