Керниган, Брайан

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Брайан Уилсон Керниган
англ. Brian Wilson Kernighan
Имя при рождении англ. Brian Wilson Kernighan
Дата рождения 30 января 1942(1942-01-30) (83 года)
Место рождения Торонто, Онтарио, Канада
Страна  Канада
 США
Род деятельности специалист в области информатики, инженер, программист, писатель, профессор, преподаватель университета
Научная сфера информатика
Место работы Принстонский университет
Альма-матер Университет Торонто
Принстонский университет
Учёная степень доктор философии (1969)
Научный руководитель Peter Weiner[вд][1]
Известен как Unix, AWK, AMPL
соавтор руководства «Язык программирования Си»
Сайт cs.princeton.edu/… (англ.)
Логотип Викицитатника Цитаты в Викицитатнике
Логотип Викисклада Медиафайлы на Викискладе

Брайан Керниган (англ. Brian Wilson Kernighan; род. 30 января 1942 года, Торонто, Онтарио, Канада) — канадский ученый и инженер в области информатики, известный своим вкладом в разработку языков программирования и операционных систем. Является соавтором языка программирования AWK и руководства «Язык программирования Си», а также участвовал в разработке операционной системы Unix.

В соавторстве с Робом Пайком написал известные книги «Практика программирования» и «UNIX. Программное окружение». Последнюю часто называют своего рода «Библией для UNIX-программистов».

Образование и карьера

[править | править код]

Брайан Керниган родился и вырос в Торонто. В 1964 году получил степень бакалавра наук в области инженерной физики в Торонтском университете[2]. Затем он поступил в Принстонский университет, штат Нью-Джерси, где в 1969 году защитил докторскую диссертацию по электротехнике[3][4].

После завершения обучения Керниган присоединился к исследовательской лаборатории Bell Labs, где начал работать в области разработки языков программирования и операционных систем. В Bell Labs он сотрудничал с Кеном Томпсоном и Деннисом Ритчи, что привело к значительным достижениям в разработке Unix.

В 2002 году был избран членом Национальной инженерной академии США за вклад в программное обеспечение и языки программирования[5]. В 2019 году избран членом Американской академии искусств и наук[6][7].

Вклад в информатику

[править | править код]

Брайан Керниган внёс значительный вклад в развитие компьютерных наук. Он является соавтором языка программирования AWK, разработанного совместно с Алфредом Ахо и Питером Уайнбергером[англ.]. Этот язык, названный по первым буквам фамилий авторов, стал важным инструментом для текстовой обработки и остается популярным в среде Unix.

Керниган придумал термин «Unix» и помог популяризировать философию Unix Кена Томпсона[8].

Также известен тем, что придумал выражение «Что видишь, то и получаешь» (WYSIWYG), которое является саркастическим вариантом оригинального «Что видишь, то и получишь» (WYSIWYG)[9]. Термин Кернигана используется для обозначения того, что системы WYSIWYG могут отбрасывать информацию в документе, которая могла бы быть полезной в других контекстах.

В 1972 году описал управление памятью в строках с использованием «hello» и «world» на языке программирования B[10]. Оригинальная реализация Hello, World! (1978) года была продана на аукционе алгоритмов, первом в мире аукционе компьютерных алгоритмов[11].

Программа «Hello, World!» на аукционе алгоритмов Artsy.

Керниган также является соавтором знаменитой книги «Язык программирования Си» (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

Примечания

[править | править код]
  1. Mathematics Genealogy Project (англ.) — 1997.
  2. 1 2 Dolya, Aleksey (2003-07-29). Interview with Brian Kernighan. Linux Journal. Архивировано 18 октября 2017. Дата обращения: 16 августа 2024.
  3. Brian Kernighan - The Mathematics Genealogy Project. www.genealogy.math.ndsu.nodak.edu. Дата обращения: 13 мая 2020. Архивировано 9 августа 2018 года.
  4. Kernighan, Brian W. Some graph partitioning problems related to program segmentation : [англ.]. — 1969. Архивная копия от 27 сентября 2020 на Wayback Machine
  5. Dr. Brian W. Kernighan Архивная копия от 27 июля 2020 на Wayback Machine  (англ.)
  6. Dr. Brian W. Kernighan. NAE Website. Дата обращения: 13 мая 2020. Архивировано 27 июля 2020 года.
  7. Brian W. Kernighan (англ.). American Academy of Arts & Sciences. Дата обращения: 13 мая 2020. Архивировано 27 июля 2020 года.
  8. 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.
  9. Brian Kernighan: Geek of the Week (амер. англ.). Simple Talk (19 мая 2010). Дата обращения: 5 февраля 2019. Архивировано 7 февраля 2019 года.
  10. THE PROGRAMMING LANGUAGE B. Bell Laboratories (16 октября 2021). Архивировано 11 июня 2015 года.
  11. Brian Kernighan – Hello World. Artsy. Дата обращения: 18 июня 2015. Архивировано 21 марта 2015 года.
  12. Alan A. A. Donovan, Brian W. Kernighan. The Go Programming Language. — Addison-Wesley, 2015. — 380 с. — ISBN 978-0-13-419044-0. Архивировано 16 августа 2024 года.
  13. Unix legend, who owes us nothing, keeps fixing foundational AWK code (англ.). Ars Technica (23 августа 2022). Дата обращения: 12 мая 2023. Архивировано 12 мая 2023 года.
  14. 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.
  15. Brian Kernighan | Computer Science Department at Princeton University. Дата обращения: 16 августа 2024. Архивировано 14 февраля 2015 года.
  16. 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. Архивировано 2 октября 2022 года.
  17. Kernighan, Brian. COS 109: Computers in our world (PDF). Princeton Education. Архивировано (PDF) 25 марта 2017.