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

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Керниган Брайан Уильям»)
Перейти к навигации Перейти к поиску
Брайан Уилсон Керниган
англ. Brian Wilson Kernighan
Имя при рождении англ. Brian Wilson Kernighan
Дата рождения 30 января 1942(1942-01-30) (82 года)
Место рождения Торонто, Онтарио, Канада
Страна  Канада
 США
Род деятельности специалист в области информатики, инженер, программист, писатель, профессор, преподаватель университета
Научная сфера информатика
Место работы Принстонский университет
Альма-матер Университет Торонто
Принстонский университет
Учёная степень доктор философии (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].

Также известен тем, что придумал выражение «Что видишь, то и получаешь» (WYSIAYG), которое является саркастическим вариантом оригинального «Что видишь, то и получишь» (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 (29 July 2003). "Interview with Brian Kernighan". Linux Journal.
  3. Brian Kernighan - The Mathematics Genealogy Project. www.genealogy.math.ndsu.nodak.edu. Дата обращения: 13 мая 2020.
  4. Kernighan, Brian W. Some graph partitioning problems related to program segmentation : [англ.]. — 1969.
  5. Dr. Brian W. Kernighan Архивная копия от 27 июля 2020 на Wayback Machine  (англ.)
  6. Dr. Brian W. Kernighan. NAE Website. Дата обращения: 13 мая 2020.
  7. Brian W. Kernighan (англ.). American Academy of Arts & Sciences. Дата обращения: 13 мая 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.
  10. THE PROGRAMMING LANGUAGE B. Bell Laboratories (16 октября 2021). Архивировано 11 июня 2015 года.
  11. Brian Kernighan – Hello World. Artsy. Дата обращения: 18 июня 2015.
  12. Alan A. A. Donovan, Brian W. Kernighan. The Go Programming Language. — Addison-Wesley, 2015. — 380 с. — ISBN 978-0-13-419044-0.
  13. Unix legend, who owes us nothing, keeps fixing foundational AWK code (англ.). Ars Technica (23 августа 2022). Дата обращения: 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. 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.
  17. Kernighan, Brian. "COS 109: Computers in our world" (PDF). Princeton Education. Архивировано (PDF) 25 марта 2017.