Деннис Ричи

Деннис Ричи: тихий автор грамматики цифрового мира

Однажды на компьютерной конференции Деннис Ричи вместо того, чтобы принимать похвалы, полагавшиеся его имени, просто поменялся бейджами с незнакомцем, чтобы спокойно обсудить рабочие вопросы. Это подходящий образ для человека, два творения которого — язык программирования и операционная система — лежат в основе почти каждого телефона, сервера и ноутбука на Земле, в то время как он сам оставался, по словам коллеги, «тихим и в высшей степени непубличным человеком».

Гарвард, физика и поворот к вычислениям

Деннис Макалистер Ричи (Dennis MacAlistair Ritchie) родился 9 сентября 1941 года в Бронксвилле (Истчестер, штат Нью-Йорк) в семье ученого из Bell Labs. Он получил степень бакалавра по физике в Гарварде в 1963 году и докторскую степень по прикладной математике в 1968 году, после чего в 1967 году присоединился к Bell Telephone Laboratories, последовав за своим отцом в компанию, которая определила всю его карьеру. Его работа над докторской диссертацией осталась технически незавершенной в формальном смысле, как описывают некоторые источники, но к тому моменту вычисления, а не физика, завладели им.

От Multics к PDP-7 в углу

Ранние годы Ричи в Bell Labs были посвящены Multics — амбициозной операционной системе с разделением времени, созданной совместно Массачусетским технологическим институтом, Bell Labs и General Electric. Когда AT&T вышла из этого дорогостоящего и громоздкого проекта в 1969 году, Ричи и его коллега Кеннет Томпсон (Kenneth Thompson) остались с простаивающим мини-компьютером DEC PDP-7 и без какого-либо санкционированного проекта. В течение нескольких месяцев за этим последовало создание более компактного и элегантного преемника: операционной системы, которую Томпсон и Ричи назвали Unix. Она была нарочито простой там, где Multics была барочной, и строилась вокруг идеи о том, что небольшой набор комбинируемых инструментов может сделать больше, чем один громоздкий монолит.

Создание C для продвижения Unix вперед

Первые версии Unix были написаны в основном на языке ассемблера, что жестко привязывало систему к конкретному железу — именно эту проблему должна была решить новая переносимая операционная система. Примерно в 1971–1972 годах, когда команда работала над переносом Unix на PDP-11, Ричи разработал язык программирования C, создав его на основе более раннего и ограниченного языка Томпсона «B». Язык C дал программистам низкоуровневый контроль, сравнимый с ассемблером, оставаясь при этом переносимым между машинами, и к 1973 году Ричи и Томпсон переписали на нем ядро Unix — решение, которое позволило Unix распространиться на новое железо с такой скоростью и точностью, какой не удавалось достичь ни одной предыдущей операционной системе. C и Unix подкрепляли друг друга: Unix продемонстрировала, что может создать такой язык, как C, а распространение C на базе Unix сделало его за десятилетие одним из самых широко используемых языков программирования в мире, породив впоследствии C++, Java и большую часть линейки семейств C, доминирующих в программном обеспечении и поныне.

БЕСПЛАТНЫЙ ТЕСТ
А какой у вас?

Двадцать вопросов, восемь минут на часах и процентиль, измеренный по всем, кто его проходил. Без регистрации.

Пройти тест IQ →

Книга, руководство и стандарт

В 1978 году Ричи в соавторстве с Брайаном Керниганом (Brian Kernighan) написал книгу «Язык программирования C» ( The C Programming Language ) — тонкий, точно написанный том, который на годы стал фактической спецификацией языка до его официальной стандартизации и познакомил поколения программистов с примером «Hello, world», до сих пор используемым для обучения первой строке кода. Ранее, в 1971 году, он написал «Руководство программиста Unix» ( Unix Programmer's Manual ), задокументировав систему для ее первых пользователей в Bell Labs. В 1990 году Ричи стал главой Отдела исследований системного программного обеспечения в Bell Labs, где курировал более поздние, менее коммерчески успешные, но технически влиятельные операционные системы Plan 9 и Inferno — продолжения той же философии проектирования, которая породила Unix двумя десятилетиями ранее.

Признание приходит медленно, а затем внезапно

Ричи и Томпсон разделили Премию Тьюринга 1983 года (высшую награду в области компьютерных наук) за работу над Unix — награду, в формулировке которой «универсальный» дизайн операционной системы был назван причиной ее огромного последующего влияния. В том же году Ричи был назначен феллоу Bell Labs (Bell Labs Fellow), в 1988 году избран в Национальную инженерную академию, а в 1999 году получил Национальную медали за технологические достижения от президента Клинтона вместе с Томпсоном. В 2011 году, незадолго до смерти, он получил Премию Японии. Несмотря на это, Ричи оставался в значительной степени в тени общественной жизни по сравнению с коллегами сопоставимого масштаба, давал мало интервью и избегал той славы, которая досталась некоторым его современникам из Кремниевой долины.

Смерть

Ричи скончался в октябре 2011 года в своем доме в Беркли-Хайтс (штат Нью-Джерси) в возрасте 70 лет после продолжительной болезни, в последние годы практически отойдя от публичной жизни. Его смерть, последовавшая всего через несколько дней после кончины Стива Джобса, привлекла относительно скромное внимание — дисбаланс, на который остро указали многие в техническом сообществе, учитывая, что операционные системы, лежащие в основе продуктов самого Джобса, прямо происходили от работ Ричи.

Почему Денниса называют гением

Основания называть Ричи гением опираются на вполне конкретный и хорошо задокументированный вид интеллектуальных достижений: проектирование абстракций — языка, файловой модели операционной системы и модели процессов, — которые оказались долговечными и порождающими далеко за пределами их первоначальной узкой цели сделать мини-компьютер одной лаборатории пригодным для использования. Коллеги, работавшие рядом с ним, включая Роба Пайка (Rob Pike), называли его не просто выдающимся человеком, а «истинно великим умом», а комитет по премии Тьюринга в обосновании награды Unix прямо хвалил универсальность дизайна, созданного для решения внутренней проблемы одной компании, но оказавшегося достаточно гибким, чтобы стать основой для большей части мировой вычислительной инфраструктуры. Это принципиально иной уровень достижений, чем ремесло или харизма: это концептуальная инженерия, оцениваемая компетентными коллегами и подтвержденная пятью последующими десятилетиями почти повсеместного внедрения как C, так и потомков Unix. Честная сложность заключается в том, что Ричи редко работал в одиночку — Unix явно была совместным творением с Томпсоном, а дизайн C впитал в себя идеи, уже циркулировавшие в более ранних языках, — так что гениальность здесь носит совместный и эволюционный характер, а не является единым беспрецедентным рывком, и сам Ричи, судя по всем отзывам, отверг бы этот ярлык как преувеличенный для того, что он считал практической инженерной работой.

Наследие

Потомки и реализации Unix — среди них Linux, BSD и ядро Darwin в macOS — сегодня управляют подавляющим большинством мировых серверов, телефонов и встроенных устройств, в то время как C остается фундаментальной основой для операционных систем и системного программирования спустя полвека после своего создания. Влияние Ричи необычно тем, что оно действует почти полностью под поверхностью: в отличие от ориентированных на потребителя технологов, его имя практически неизвестно за пределами компьютерной сферы, даже несмотря на то, что миллиарды людей ежедневно, сами того не зная, зависят от инструментов, созданных им за лабораторным столом в Нью-Джерси.

Сравнить с великими

Henri Poincar vs Johann Sebastian BachJohann Sebastian Bach vs Pablo PicassoFrancis Crick vs William James SidisCharles Dickens vs William James Sidis
Все рейтинги →Все сравнения →

Вундеркинды

Connie TalbotBritain's Got Talent Finalist at Age 6 — Debut Album Platinum…Shakuntala DeviShakuntala DeviMultiplied two 13-digit numbers in her head in 28 secondsJeremy ShulerCornell University at 12 — Reading at 21 Months, Top-Decile SAT…Akiane KramarikSelf-Taught Painter from Age 4 — Paintings Sold for Up to…
Вундеркинды →

Сыграй и возвращайся завтра

Ежедневный вызов гения · Brain teaser
Which is heavier: a kilogram of feathers or a kilogram of steel?
Нажмите ответ ↓
Какой ты гений? Бесплатный IQ-тест