Брайан Керниган (англ. Brian Wilson Kernighan; род. 1 января 1942 года, Торонто, Онтарио, Канада) — канадский ученый и инженер в области информатики, известный своим вкладом в разработку языков программирования и операционных систем. Является соавтором языка программирования AWK и руководства «Язык программирования Си», а также участвовал в разработке операционной системы Unix.
Брайан Уилсон Керниган | |
---|---|
англ. Brian Wilson Kernighan | |
Имя при рождении | англ. Brian Wilson Kernighan |
Дата рождения | 1 января 1942 (82 года) |
Место рождения | Торонто, Онтарио, Канада |
Страна |
Канада США |
Род деятельности | специалист в области информатики, инженер, программист, писатель, профессор, преподаватель университета |
Научная сфера | информатика |
Место работы | Принстонский университет |
Альма-матер |
Университет Торонто Принстонский университет |
Учёная степень | доктор философии (1969) |
Научный руководитель | Peter Weiner[вд][1] |
Известен как |
Unix, AWK, AMPL соавтор руководства «Язык программирования Си» |
Сайт | cs.princeton.edu/… (англ.) |
Цитаты в Викицитатнике | |
Медиафайлы на Викискладе |
В соавторстве с Робом Пайком написал известные книги «Практика программирования» и «UNIX. Программное окружение». Последнюю часто называют своего рода «Библией для UNIX-программистов».
Образование и карьера
правитьБрайан Керниган родился и вырос в Торонто. В 1964 году получил степень бакалавра наук в области инженерной физики в Торонтском университете[2]. Затем он поступил в Принстонский университет, штат Нью-Джерси, где в 1969 году защитил докторскую диссертацию по электротехнике[3][4].
После завершения обучения Керниган присоединился к исследовательской лаборатории Bell Labs, где начал работать в области разработки языков программирования и операционных систем. В Bell Labs он сотрудничал с Кеном Томпсоном и Деннисом Ритчи, что привело к значительным достижениям в разработке Unix.
В 2002 году был избран членом Национальной инженерной академии США за вклад в программное обеспечение и языки программирования[5]. В 2019 году избран членом Американской академии искусств и наук[6][7].
Вклад в информатику
правитьБрайан Керниган внёс значительный вклад в развитие компьютерных наук. Он является соавтором языка программирования AWK, разработанного совместно с Алфредом Ахо и Питером Уайнбергером[англ.]. Этот язык, названный по первым буквам фамилий авторов, стал важным инструментом для текстовой обработки и остается популярным в среде Unix.
Керниган придумал термин «Unix» и помог популяризировать философию Unix Кена Томпсона[8].
Также известен тем, что придумал выражение «Что видишь, то и получаешь» (WYSIAYG), которое является саркастическим вариантом оригинального «Что видишь, то и получишь» (WYSIWYG)[9]. Термин Кернигана используется для обозначения того, что системы WYSIWYG могут отбрасывать информацию в документе, которая могла бы быть полезной в других контекстах.
В 1972 году описал управление памятью в строках с использованием «hello» и «world» на языке программирования B[10]. Оригинальная реализация Hello, World! (1978) года была продана на аукционе алгоритмов, первом в мире аукционе компьютерных алгоритмов[11].
Керниган также является соавтором знаменитой книги «Язык программирования Си» (1978), написанной в соавторстве с создателем языка Деннисом Ритчи[2]. Эта книга, широко известная как «K&R» по инициалам авторов, стала одним из первых и самых влиятельных учебников по языку программирования C. Книга сыграла ключевую роль в распространении и популяризации языка C и заложила основы для его использования в различных программных системах, включая Unix.
В 2015 году стал соавтором книги «Язык программирования Go»[12].
В 2022 году заявил, что активно работает над усовершенствованием языка программирования AWK , в создании которого он принимал участие в 1977 году[13].
Преподавательская деятельность
правитьВ 1996 году Керниган преподавал CS50, который является вступительным курсом Гарвардского университета по информатике. Керниган оказал влияние на Дэвида Дж. Малана, который впоследствии преподавал этот курс и дополнил его для работы в других университетах и в цифровых форматах[14].
С 2000 года Брайан Керниган работает профессором в Принстонском университете, где преподает курсы по программированию, алгоритмам и структурам данных[15][16][17]. Активно участвует в образовательной деятельности и наставничестве, помогая студентам и молодым исследователям развиваться в области информатики.
Керниган остается активным участником научного сообщества, делясь своими знаниями и опытом с новыми поколениями программистов и исследователей.
Признание и награды
правитьЗа свою карьеру Брайан Керниган получил множество наград и признаний за свои достижения. Его вклад в развитие информатики и образования сделал его одним из самых уважаемых и влиятельных ученых в этой области.
Книги
править- Керниган Б. У., Пайк Р. У. Практика программирования = The Practice of Programming. — М.: «Вильямс», 2004. — С. 288. — ISBN 5-8459-0679-2.
- Керниган Б. У., Ритчи Д. М. Язык программирования C = C programming language. — 2-е изд. — М.: «Вильямс», 2007. — С. 304. — ISBN 0-13-110362-8.
- Керниган Б. У., Донован А. А., Язык программирования Go = The Go Programming Language. — М.: «Вильямс», 2016. — С. 432. — ISBN 978-5-8459-2051-5
Примечания
править- ↑ Mathematics Genealogy Project (англ.) — 1997.
- ↑ 1 2 Dolya, Aleksey (29 July 2003). "Interview with Brian Kernighan". Linux Journal.
- ↑ Brian Kernighan - The Mathematics Genealogy Project . www.genealogy.math.ndsu.nodak.edu. Дата обращения: 13 мая 2020.
- ↑ Kernighan, Brian W. Some graph partitioning problems related to program segmentation : [англ.]. — 1969.
- ↑ Dr. Brian W. Kernighan Архивная копия от 27 июля 2020 на Wayback Machine (англ.)
- ↑ Dr. Brian W. Kernighan . NAE Website. Дата обращения: 13 мая 2020.
- ↑ Brian W. Kernighan (англ.). American Academy of Arts & Sciences. Дата обращения: 13 мая 2020.
- ↑ McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (PDF) (Technical report). CSTR. Bell Labs. 139. Архивировано (PDF) 9 октября 2022.
- ↑ Brian Kernighan: Geek of the Week (амер. англ.). Simple Talk (19 мая 2010). Дата обращения: 5 февраля 2019.
- ↑ THE PROGRAMMING LANGUAGE B . Bell Laboratories (16 октября 2021). Архивировано 11 июня 2015 года.
- ↑ Brian Kernighan – Hello World . Artsy. Дата обращения: 18 июня 2015.
- ↑ Alan A. A. Donovan, Brian W. Kernighan. The Go Programming Language. — Addison-Wesley, 2015. — 380 с. — ISBN 978-0-13-419044-0.
- ↑ Unix legend, who owes us nothing, keeps fixing foundational AWK code (англ.). Ars Technica (23 августа 2022). Дата обращения: 12 мая 2023.
- ↑ Malan, David J. Reinventing CS50 // Proceedings of the 41st ACM technical symposium on Computer science education. — 2010. — P. 152–156. — ISBN 9781450300063. — doi:10.1145/1734263.1734316.
- ↑ Brian Kernighan | Computer Science Department at Princeton University .
- ↑ Kernighan, Brian COS 109, Fall 2021: Home Page . www.cs.princeton.edu. — «The course will have fundamentally the same structure as in previous years, but lectures, case studies and examples change every year according to what's happening.» Дата обращения: 23 августа 2022.
- ↑ Kernighan, Brian. "COS 109: Computers in our world" (PDF). Princeton Education. Архивировано (PDF) 25 марта 2017.
Ссылки
править- Домашняя страница Брайана Кернигана в Принстонском университете (англ.)
- Домашняя страница Брайана Кернигана в Bell Labs (англ.)
- Интервью с Брайаном Керниганом — Mihai Budiu, для PC Report Romania, август 2000. (англ.)
- Интервью с Брайаном Керниганом (недоступная ссылка) — Алексей Доля, для Linux Journal, июль 2003.
- Брайан Керниган: видео-интервью с легендой — Арман Сулейменов, Princeton Startup TV, эпизод 7, март 2012.