
1972 год. Bell Labs, Мюррей-Хилл, Нью-Джерси. Брайан Керниган пишет обучающее введение в язык B. В качестве первого примера программы он использует вывод на экран фразы «hello, world».
1972 год: первая задокументированная программа «Hello, world!» — в учебном введении Кернигана в язык B.
Два слова, два восклицательных знака. Этот пример кочевал из учебника в учебник, с языка на язык, из десятилетия в десятилетие. Сегодня «Hello, world» — первое, что пишет любой начинающий программист на любом языке в любой точке мира. Керниган не думал, что придумывает традицию. Он просто выбрал понятный пример.
Брайан Уилсон Керниган родился 30 января 1942 года в Торонто.
Он учился в Университете Торонто с 1960 по 1964 год, получив степень бакалавра по технической физике. Физика и техника — правильный фундамент для будущего архитектора программных систем: умение мыслить абстрактно и одновременно инженерно точно.
«Я был в колледже, когда впервые увидел компьютер. Он показался мне интересным, хотя я тогда мало что о нём знал», — вспоминал он в интервью Princeton Daily.
В 1969 году он получил докторскую степень по электротехнике в Принстонском университете. Тема диссертации — задачи разбиения графов в применении к сегментации программ. Это не абстрактная математика ради математики: речь о том, как эффективно распределять программный код по памяти вычислительных машин. Практическое мышление с самого начала.
После защиты докторской диссертации он поступил в Исследовательский центр вычислительных наук Bell Laboratories в Мюррей-Хилл, Нью-Джерси, где провёл три десятилетия.
Bell Labs конца 1960-х — начала 1970-х — это место, где история информатики делалась буквально в соседних кабинетах. Кен Томпсон создавал UNIX. Деннис Ритчи разрабатывал язык C. Альфред Ахо формулировал теорию компиляторов.
Именно Керниган сыграл ключевую роль в том, чтобы назвать операционную систему «Unix» в 1970 году — игривый каламбур на основе более раннего проекта Multics, в котором «Unics» (Uniplexed Information and Computing Service) отражало более простой дизайн.
Имя UNIX придумал Керниган. Один из самых важных брендов в истории технологий — его каламбур.
1978 год. Деннис Ритчи создал язык C. Но для того чтобы язык стал стандартом, нужна была книга — точная, ясная, авторитетная.
Имя Кернигана стало широко известным благодаря соавторству первой книги о языке программирования C — «Язык программирования C» — написанной совместно с Деннисом Ритчи.
При этом Керниган утверждал, что не имел никакого отношения к проектированию самого языка C: «Это целиком работа Денниса Ритчи».
Это редкое по честности заявление. Его имя стоит первым в названии «K&R» — но он публично отдаёт заслугу партнёру. Книга, известная среди программистов как «K&R», стала фундаментальным текстом по языку. Поколения программистов учились по ней. Она определила не только синтаксис, но и стиль мышления: ясный, без лишних слов, ориентированный на практику.
«K» из «K&R C» и «K» в AWK — обе обозначают «Kernighan».
AWK — язык для обработки текстовых данных, созданный совместно с Альфредом Ахо и Питером Вайнбергером в 1977 году. 1977 год: язык программирования AWK, совместно с Альфредом Ахо и Питером Вайнбергером, и книга «Язык программирования AWK».
AWK до сих пор используется системными администраторами и разработчиками по всему миру — практически без изменений от оригинала 1977 года. Это один из признаков по-настоящему хорошего инструмента: он не устаревает, потому что решает задачу правильно с первого раза.
За пределами C и AWK Керниган создал инструменты, которые большинство программистов никогда не называли по имени — но пользовались ими постоянно.
1973 год: ditroff, или «устройство-независимый troff», позволивший использовать troff с любым устройством. 1974 год: язык набора формул eqn для troff, совместно с Лориндой Черри.
Troff — система подготовки документов, которая формировала облик технической документации UNIX-эпохи. Eqn позволял набирать математические формулы — задача, которая до него решалась с большим трудом. Эти инструменты не попали в учебники истории вычислений, но они были частью той инфраструктуры, без которой невозможна была бы вся остальная работа.
1984 год: «UNIX Programming Environment» совместно с Робом Пайком.
Книга немедленно получила статус обязательного чтения. Если «K&R» объяснял язык, то «UNIX. Программное окружение» объяснял мышление: как думать об операционной системе, как соединять маленькие инструменты в мощные конвейеры, почему простота — это принцип, а не ограничение.
Его книга с Деннисом Ритчи, создателем языка C, — «Библия C». Он также является соавтором широко используемых языков AWK и AMPL, а также языков набора eqn и pic.
Параллельно с практическими инструментами Керниган занимался теоретическими задачами.
В соавторстве с Шенем Лином он разработал известные эвристики для двух NP-полных задач оптимизации: разбиения графов и задачи коммивояжёра. В знак авторского равенства первая обычно называется алгоритмом Кернигана-Лина, а вторая — эвристикой Лина-Кернигана.
Эти алгоритмы используются в задачах размещения чипов, маршрутизации, оптимизации логистики. Чистая теория, которая оказалась очень практичной.
После 25–30 лет в Bell Labs компания начала меняться. Мир вокруг неё менялся. У него появилась возможность преподавать.
В 2000 году он вернулся в Принстон как профессор Уильяма О. Бейкера на кафедре компьютерных наук и директор программы бакалавриата.
Его популярный курс для бакалавров «Computers in Our World» знакомит гуманитариев и социологов с вычислениями, давая им базу и глубину для понимания цифровых вопросов, актуальных для современной политики.
Это принципиальный выбор педагогической миссии: не учить программистов программировать, а объяснять природу вычислений тем, кто принимает решения о технологиях — политикам, журналистам, юристам, экономистам.
«Это как второе детство», — говорил он о возвращении в Принстон.
Поздняя карьера Кернигана — это систематическая попытка объяснить цифровой мир людям за пределами профессии.
Среди его последних книг: «Understanding the Digital World» (Princeton University Press, 2017) и «UNIX: A History and a Memoir» — исторический рассказ о развитии Unix от его лица в Bell Labs. В 2015 году он стал соавтором «Языка программирования Go».
Человек, написавший «Hello, world» в 1972 году, в 2017-м объясняет широкой аудитории, что такое интернет, алгоритмы и приватность данных. Это логичное продолжение: сначала создать инструменты, потом объяснить их смысл.
Среди наград: награда USENIX Association за пожизненные достижения и членство в Национальной академии инженерных наук. В 2019 году избран в Американскую академию искусств и наук.
Брайан Керниган жив, преподаёт в Принстоне и продолжает писать — ясно, точно и без лишних слов.
Брайан Керниган K R AWK Bell Labs. Фото с сайта softwarequotes.com
| Родился: | 30.01.1942 (84) |
| Место: | Торонто (CA) |