
5 октября 2011 года умер Стив Джобс. Весь мир остановился. Некрологи заняли первые полосы, миллионы людей оставляли цветы у магазинов Apple, мировые лидеры выражали соболезнования.
Через несколько дней, 12 октября, в тихом доме в Беркли-Хайтс, Нью-Джерси, был найден мёртвым Деннис Ритчи. Когда он умер в октябре 2011 года, всего через несколько дней после Стива Джобса, контраст в общественном внимании был разительным и широко отмечался. Джобс создавал красивые потребительские продукты; Ритчи создал невидимый субстрат, на котором работали продукты Джобса — и, по существу, всё современное вычисление.
Эта ирония — самая точная характеристика жизни и работы Денниса Ритчи. Человек, чьи изобретения используются в каждом смартфоне, каждом сервере, каждой строке современного кода — остался практически неизвестным широкой публике. Потому что настоящая инфраструктура невидима.
Деннис МакАлистер Ритчи родился 9 сентября 1941 года в Бронксвилле, пригороде Нью-Йорка.
Его отец Алистер Ритчи был инженером Bell Laboratories и экспертом в теории коммутации. Мать Джин МакГи Ритчи была домохозяйкой.
Отец в Bell Labs — это не случайная деталь. Bell Laboratories в 1940–50-е годы была, возможно, самым продуктивным исследовательским учреждением в истории человечества: здесь изобрели транзистор, разработали теорию информации, создали первые языки программирования. Мальчик, выросший в семье, где отец работал в этом месте, рос в атмосфере, где наука была не абстракцией, а ежедневным разговором.
Ритчи получил степень бакалавра по физике в 1963 году и докторскую степень по математике в 1968 году в Гарвардском университете. Физика и математика — два языка, на которых говорит мир вычислений. Ритчи выучил оба.
В 1967 году он начал работать в Bell Labs, где встретил Кена Томпсона, который стал его постоянным соавтором. Ритчи провёл всю карьеру в Bell Laboratories в Нью-Джерси — сначала как учёный, затем как менеджер.
Томпсон и Ритчи встретились в Bell Labs в 1967 году. Ритчи пришёл из Гарварда со степенью бакалавра по физике; Томпсон был инженером-электриком. Их разные, но взаимодополняющие backgrounds быстро привели к разработке UNIX.
Ритчи и Томпсон — один из самых плодотворных творческих дуэтов в истории науки. Не потому что они были похожи, а потому что они мыслили взаимодополняюще: Томпсон — интуитивный экспериментатор, генератор идей; Ритчи — системный архитектор, способный придать идее строгость и масштабируемость.
Первым большим проектом Ритчи в Bell Labs был Multics — амбициозная система разделения времени, разрабатывавшаяся совместно Bell Labs, MIT и General Electric. Multics была системой разделения времени, финансируемой ARPA и совместно разработанной исследователями MIT, Bell Labs и General Electric.
Проект оказался слишком сложным и дорогим. Bell Labs вышла из него. Но Ритчи и Томпсон не собирались останавливаться — у них была более элегантная идея.
После того как машины General Electric были убраны, Ритчи присоединился к Томпсону в разработке более гибкой операционной системы для устаревшего миникомпьютера DEC PDP-7. За несколько месяцев они создали UNIX — новую ОС, не привязанную к конкретному железу.
UNIX воплощал философию, прямо противоположную Multics: не делать всё сразу, а делать одну вещь и делать её хорошо. Из UNIX выросла влиятельная философия проектирования, основанная на простоте и ясности, и введение иерархической файловой системы и каналов (pipes) для соединения процессов.
Кен Томпсон также создал интерпретируемый язык B, основанный на BCPL, который он использовал для повторной реализации некоторых частей UNIX. Ритчи добавил типы в язык B, а позднее создал компилятор для языка C.
Это ключевой момент: C не был создан ради самого C. Он был создан как инструмент для написания UNIX. Язык рождался из практической потребности — и именно поэтому оказался настолько практичным, что пережил все последующие поколения технологий.
В 1972 году Ритчи завершил оригинальную версию языка программирования C; Томпсон затем переписал ядро UNIX на C. Это сделало UNIX переносимым — то есть легко адаптируемым для разных компьютерных платформ, в отличие от предыдущих операционных систем, работавших только на одном типе аппаратного обеспечения, — и позволило использовать его почти без изменений на широком диапазоне компьютеров.
Слово «переносимый» здесь — ключевое. До C операционные системы были намертво привязаны к конкретному «железу». После C стало возможным написать программу один раз и запустить её где угодно. Это изменило всё.
В числе публикаций Ритчи — «Руководство программиста UNIX» (1971) и, совместно с Брайаном Керниганом, «Язык программирования C» (1978).
«The C Programming Language» — известная среди программистов как «K&R» (по первым буквам фамилий Кернигана и Ритчи) — стала одной из самых влиятельных технических книг в истории. Поколения программистов учились по ней. Её стиль — точный, краткий, без лишних слов — отражал характер самого языка и самого Ритчи.
Признание пришло — хотя и позже, чем заслуживали масштабы вклада.
Ритчи и Томпсон были удостоены премии Тьюринга от ACM в 1983 году, медали Хэмминга от IEEE в 1990 году и Национальной медали технологий от президента Билла Клинтона в 1999 году.
В 1982 году IEEE Computer Society наградило его премией Эммануэля Пиора за вклад в системы обработки информации. В 1988 году он стал членом Национальной академии инженерных наук США.
Премия Тьюринга — это «Нобелевская премия» информатики. Лекция Ритчи при её получении называлась «Размышления об исследованиях в области программного обеспечения» — типично ритчиевское название: без пафоса, с акцентом на размышление, а не на триумф.
После UNIX и C Ритчи не почивал на лаврах. В 1990 году он был назначен руководителем Департамента системного программного обеспечения Bell Labs, где возглавил разработку операционных систем Plan 9 (1995) и Inferno (1996).
Plan 9 — попытка взять идеи UNIX и довести их до логического завершения: полностью распределённая система, где каждый ресурс — файл, сеть, процессор — представлен единообразно. Inferno — система для встроенных устройств и сетей, опередившая своё время. Кен Томпсон позднее присоединился к Google и стал соавтором языка программирования Go. Идеи Ритчи и Томпсона продолжали прорастать через следующие поколения.
Он любил путешествия и чтение, но главной страстью была работа, и он оставался в Bell Labs до выхода на пенсию в 2007 году.
Сорок лет в одном учреждении. Без смены компании, без громких перемещений, без публичной карьеры спикера или инвестора. Просто работа.
Ритчи был широко известен в сообществе computer science под именем пользователя «dmr». Не по полному имени — по никнейму. Это красноречивая деталь: человек, создавший инструменты, которыми пользуется весь мир, предпочитал оставаться буквенным кодом.
В интервью он был немногословен. На вопросы о наследии отвечал скромно. «Его работа привлекала меня; я присоединился к этому предприятию, хотя большинство идей и большая часть работы были его», — написал Ритчи о работе с Томпсоном, отдавая партнёру больше заслуг, чем себе.
Вклад Ритчи в вычисления охватывает четыре десятилетия и имеет глобальное значение. Язык C и его потомки по-прежнему используются для написания программного обеспечения, которое заставляет работать цифровые устройства и сети. UNIX и UNIX-подобные операционные системы работают на огромном спектре вычислительных систем. Ранняя работа Ритчи заложила основы значительной части технической инфраструктуры современного цифрового мира.
C стал языком, на котором написаны операционные системы, компиляторы других языков, драйверы устройств. Из C выросли C++, а из них — Java, Python, C#. Linux — наследник UNIX. macOS и iOS — тоже. Android — тоже. Каждый смартфон в мире работает на идеях, которые Ритчи и Томпсон сформулировали на PDP-7 в конце 1960-х.
Признание, которое Томпсон и Ритчи получили за UNIX и C, было значительным, хотя и пришло позже, чем того заслуживал масштаб их вклада. За Тьюринговской премией 1983 года последовали медаль Хэмминга IEEE в 1990-м, Национальная медаль технологий в 1999-м и престижная Японская премия в 2011-м.
Японская премия — в год смерти. Успел получить.
Деннис Ритчи умер тихо, без прощальных интервью и публичных речей. Он оставил после себя не логотип и не бренд — он оставил язык, на котором говорит весь цифровой мир, и операционную систему, на которой этот мир работает. Большего, пожалуй, не оставил никто.
Деннис Ритчи программист C UNIX Bell Labs
| Родился: | 09.09.1941 (70) |
| Место: | Бронксвилль (US) |
| Умер: | 12.10.2011 |
| Место: | Мюррей-Хилл (US) |
| Высказывания | 10 |
| Новости | 1 |
| Фотографии | 4 |
| Цитаты | 53 |