Брайан Керниган
Брайан Керниган | |
---|---|
![]() Брайан Керниган в 2012 году | |
Рожденный | Брайан Уилсон Керниган 30 января 1942 г. [2] [3] |
Национальность | Канадский |
Гражданство | Канада |
Альма-матер | Университет Торонто ( BASc ) Принстонский университет ( доктор философии ) |
Известный | |
Научная карьера | |
Поля | Информатика |
Учреждения | Принстонский университет |
Диссертация | Некоторые проблемы разделения графов, связанные с сегментацией программ (1969) |
Докторантура | Питер Вайнер [1] |
Веб-сайт | www |
Брайан ( / ˈkɜːrnɪhæn ɜːrnɪh; / Уилсон Керниган [5] [6] родился 30 января 1942 г.) [2] — канадский ученый-компьютерщик .Он работал в Bell Labs и внес вклад в разработку Unix вместе с создателями Unix Кеном Томпсоном и Деннисом Ритчи . Имя Кернигана стало широко известно благодаря соавторству с Деннисом Ритчи первой книги по языку программирования Си ( The C Programming Language ). Керниган подтвердил, что он не принимал участия в разработке языка C («это полностью работа Денниса Ритчи»). [7]
Керниган является автором многих программ для Unix, включая ditroff . Он является соавтором AWK и AMPL языков программирования . Буква «K» в словах K&R C и AWK означает «Керниган».
В сотрудничестве с Шэнь Линем он разработал хорошо известную эвристику для двух NP-полных задач оптимизации: разделения графа и задачи коммивояжера . Для проявления авторской справедливости первый обычно называют алгоритмом Кернигана-Лина , а второй известен как эвристика Лина-Кернигана .
Керниган является профессором информатики в Принстонском университете с 2000 года и директором бакалавриата на факультете компьютерных наук. [8] [9] [10] В 2015 году он стал соавтором книги The Go Programming Language .
Ранняя жизнь и образование
[ редактировать ]
Керниган родился в Торонто . он учился в Университете Торонто С 1960 по 1964 год , получив степень бакалавра инженерной физики . [7] Он получил докторскую степень. Получил степень бакалавра электротехники в Принстонском университете в 1969 году, защитив докторскую диссертацию на тему «Некоторые проблемы разделения графов, связанные с сегментацией программ» под руководством Питера Г. Вайнера. [11] [12]
Карьера и исследования
[ редактировать ]Керниган занимает должность профессора на факультете информатики в Принстоне с 2000 года. [13] Каждую осень он преподает курс под названием «Компьютеры в нашем мире», который знакомит с основами вычислительной техники неспециалистов. [14] [15]
Керниган был редактором программного обеспечения в Prentice Hall International . Его серия «Программные инструменты» распространяла суть «мышления C/Unix» с изменениями для BASIC , FORTRAN и Pascal , и, что особенно важно, его « Ratfor » (рациональный FORTRAN) был выложен в общественное достояние .
Он сказал, что если бы он оказался на острове только с одним языком программирования, то это был бы C. [16]
Томпсона Керниган придумал термин «Unix» и помог популяризировать философию Unix . [17] Керниган также известен тем, что придумал выражение «Что видишь, то и получаешь» (WYSIAYG), которое представляет собой саркастический вариант оригинального выражения «Что видишь, то и получаешь» ( WYSIWYG ). [18] Термин Кернигана используется для обозначения того, что системы WYSIWYG могут выбрасывать из документа информацию, которая может быть полезна в других контекстах.
В 1972 году Керниган описал управление памятью в строках с использованием «привет» и «мир» на языке программирования B. [19] который стал знаковым примером, который мы знаем сегодня. Оригинальная реализация Керниганом « Hello, World!» 1978 года! был продан на The Algorithm Auction , первом в мире аукционе компьютерных алгоритмов . [20]
В 1996 году Керниган преподавал CS50 — в Гарвардском университете вводный курс по информатике . Керниган оказал влияние на Дэвида Дж. Малана , который впоследствии преподавал этот курс и расширил его для проведения в нескольких университетах и в нескольких цифровых форматах. [21]
Керниган был избран членом Национальной инженерной академии в 2002 году за вклад в разработку программного обеспечения и языков программирования. В 2019 году он также был избран членом Американской академии искусств и наук . [22] [23]
В 2022 году Керниган заявил, что активно работает над усовершенствованием языка программирования AWK , в создании которого он принимал участие в 1977 году. [24]
Книги и отчеты
[ редактировать ]- «Элементы стиля программирования» , с П. Дж. Плаугером.
- Software Tools — книга и набор инструментов для Ratfor , созданные частично совместно с PJ Plauger.
- Software Tools in Pascal , книга и набор инструментов для Pascal , совместно с П. Дж. Плаугером
- Язык программирования C с создателем C Деннисом Ритчи, первая книга по C.
- Практика программирования с Робом Пайком.
- Учебник «Среда программирования Unix» , написанный совместно с Робом Пайком.
- «Почему Паскаль не мой любимый язык программирования» , популярная критика Вирта Никлауса Паскаля . Некоторые части критики устарели из-за ISO 7185 (Языки программирования - Паскаль); критика была написана до создания ISO 7185. (Технический отчет AT&T по вычислительной технике № 100)
Алгоритмы
[ редактировать ]- 1972: Первый задокументированный «Привет, мир!» программа в книге Кернигана «Введение в язык B».
- 1973: ditroff, или «независимый от устройства troff », который позволил использовать troff с любым устройством.
- 1974: Язык набора текста для troff, с Лориндой Черри. [17]
- 1976: Рэтфор [17]
- 1977: Язык обработки макросов m4 с Деннисом Ритчи.
- 1977: AWK Язык программирования совместно с Альфредом Ахо и Питером Дж. Вайнбергером и его книга «Язык программирования AWK».
- 1985: AMPL. язык программирования
- 1988: Язык набора изображений для troff [17]
Публикации
[ редактировать ]- Элементы стиля программирования (1974, 1978) с П. Дж. Плаугером
- Программные инструменты (1976) с П.Дж. Плаугером
- Язык программирования C (1978, 1988) с Деннисом М. Ричи
- Программные инструменты на языке Паскаль (1981) с П.Дж. Плаугером
- Среда программирования Unix (1984) с Робом Пайком
- Язык программирования AWK (1988, 2023) с Альфредом Ахо и Питером Дж. Вайнбергером
- Практика программирования (1999) с Робом Пайком
- AMPL: язык моделирования для математического программирования, 2-е изд. (2003) с Робертом Фурером и Дэвидом Гэем
- D означает «цифра»: что должен знать хорошо информированный человек о компьютерах и средствах связи (2011) [25]
- Язык программирования Go (2015) с Аланом Донованом [26]
- Понимание цифрового мира: что нужно знать о компьютерах, Интернете, конфиденциальности и безопасности (2017 г.)
- Миллионы, миллиарды, миллиарды: защитите себя в мире слишком большого количества чисел (2018)
- UNIX: история и мемуары (2019) [27]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Керниган, Брайан Уилсон (1969). Некоторые проблемы разделения графов, связанные с сегментацией программ (кандидатская диссертация). Принстонский университет. OCLC 39166855 . ПроКвест 302450661 . (требуется подписка)
- ^ Jump up to: а б Библиотека Конгресса. «Керниган, Брайан В. - Служба связанных данных LC: авторитетные источники и словари | Библиотека Конгресса, от Служба связанных данных LC: авторитетные источники и словари (Библиотека Конгресса)» . id.loc.gov . Проверено 3 марта 2023 г.
- ^ Лор, Стив (31 октября 2002 г.). «К гуманитарным наукам он добавляет информатику» . Нью-Йорк Таймс .
Г-н Керниган, 60 лет, учёный-компьютерщик.
- ^ Язык программирования "C": Брайан Керниган - Компьютерщик на YouTube
- ^ Пайк, Роб (7 ноября 2018 г.). «История Unix» . Ютуб . Архивировано из оригинала 23 ноября 2021 г. Проверено 2 мая 2020 г.
- ^ Nerd Talk - Дуг Макилрой и Брайан Керниган , 22 октября 2021 г. , получено 16 декабря 2023 г.
- ^ Jump up to: а б Доля, Алексей (29 июля 2003 г.). «Интервью с Брайаном Керниганом» . Linux-журнал .
- ^ Брайана Кернигана Страница профиля автора ACM. в цифровой библиотеке
- ^ «Устная история Unix» . 11 июня 2007 г. Архивировано из оригинала 11 июня 2007 г. Проверено 13 мая 2020 г.
- ^ «Брайан Керниган | Факультет компьютерных наук Принстонского университета» . www.cs.princeton.edu . Проверено 13 мая 2020 г.
- ^ «Брайан Керниган - Проект математической генеалогии» . www.genealogy.math.ndsu.nodak.edu . Проверено 13 мая 2020 г.
- ^ Керниган, Брайан В. (1969). Некоторые проблемы разделения графов, связанные с сегментацией программ .
- ^ «Брайан Керниган | Факультет компьютерных наук Принстонского университета» .
- ^ Керниган, Брайан. «COS 109, осень 2021 г.: Домашняя страница» . www.cs.princeton.edu . Проверено 23 августа 2022 г.
Курс будет иметь в основном ту же структуру, что и в предыдущие годы, но лекции, тематические исследования и примеры меняются каждый год в зависимости от того, что происходит.
- ^ Керниган, Брайан. «COS 109: Компьютеры в нашем мире» (PDF) . Принстонское образование . Архивировано (PDF) из оригинала 25 марта 2017 г.
- ^ Будиу, Михай (июль 2000 г.). «Интервью с Брайаном Керниганом» .
- ^ Jump up to: а б с д Макилрой, доктор медицины (1987). Читатель Research Unix: аннотированные выдержки из Руководства программиста, 1971–1986 (PDF) (Технический отчет). CSTR. Лаборатории Белла. 139. Архивировано (PDF) из оригинала 9 октября 2022 г.
- ^ «Брайан Керниган: компьютерщик недели» . Простой разговор . 19 мая 2010 г. Проверено 5 февраля 2019 г.
- ^ «ЯЗЫК ПРОГРАММИРОВАНИЯ Б» . Лаборатории Белла. 16 октября 2021 г. Архивировано из оригинала 11 июня 2015 г.
- ^ «Брайан Керниган – Привет, мир» . Артистичный . Проверено 18 июня 2015 г.
- ^ Малан, Дэвид Дж. (2010). «Изобретение CS50 заново». Материалы 41-го технического симпозиума ACM по компьютерному образованию . стр. 152–156. дои : 10.1145/1734263.1734316 . ISBN 9781450300063 .
- ^ «Доктор Брайан В. Керниган» . Сайт НАЭ . Проверено 13 мая 2020 г.
- ^ «Брайан В. Керниган» . Американская академия искусств и наук . Проверено 13 мая 2020 г.
- ^ «Легенда Unix, которая нам ничего не должна, продолжает исправлять основополагающий код AWK» . Арс Техника . 23 августа 2022 г. Проверено 12 мая 2023 г.
- ^ D означает «Цифровой»: что должен знать хорошо информированный человек о компьютерах и средствах связи. ISBN 1463733895
- ^ Брайан Керниган и Алан Донован (2015) Язык программирования Go ISBN 0134190440
- ^ UNIX: История и мемуары ISBN 1695978552
Внешние ссылки
[ редактировать ]

- Домашняя страница Брайана Кернигана в Bell Labs
- Подкаст Лекса Фридмана № 109: Брайан Керниган - Программирование на UNIX, C, AWK, AMPL и Go
- «Почему Паскаль не мой любимый язык программирования» — Брайан Керниган, AT&T Bell Labs, 2 апреля 1981 г.
- «Прыгай и пробуй» — интервью с Брайаном Керниганом — в «Блоге Harmony at Work», октябрь 2009 г.
- Интервью с Брайаном Керниганом , Михай Будю, для PC Report, Румыния , август 2000 г.
- «Стенограмма интервью с Брайаном Керниганом» . Архивировано из оригинала 28 апреля 2009 г. Проверено 31 марта 2016 г. – Интервью «Майкл С. Махони» . Архивировано из оригинала 28 мая 2009 г. Проверено 31 марта 2016 г.
- Видео — TechNetCast в Bell Labs: Деннис Ритчи и Брайан Керниган (14 мая 1999 г.)
- Видео (Принстонский университет, 7 сентября 2003 г.) — «Ассамблея выпускников 2007 г.: «D означает цифровые технологии и почему это важно»»
- Спуск в Лимбо Брайан Керниган
- Фотографии Брайана Кернигана
- Работы Брайана Кернигана в Открытой библиотеке
- Видеоинтервью с Брайаном Керниганом для Princeton Startup TV (20 марта 2012 г.)
- Установка, Брайан Керниган
- Привет, мир! Сборник колонок с мнениями Кернигана из The Daily Princetonian за 2006–2013 годы.
- 1942 года рождения
- Живые люди
- Канадские ученые-компьютерщики
- Канадские программисты
- Программисты
- Люди Inferno (операционная система)
- Канадцы ирландского происхождения
- Писатели из Торонто
- Планируйте 9 человек
- Выпускники Школы инженерии и прикладных наук Принстонского университета
- Преподаватели Принстонского университета
- Разработчики языков программирования
- Ученые из Bell Labs
- Канадские писатели-технологи
- Выпускники Университета Торонто
- Unix-люди
- Си (язык программирования)
- Члены Национальной инженерной академии США
- Беркманские стипендиаты
- Ученые из Торонто