Brian Kernighan Explained

Brian Kernighan
Birth Name:Brian Wilson Kernighan
Birth Date:30 January 1942[1] [2]
Birth Place:Toronto, Ontario, Canada
Citizenship:Canada
Nationality:Canadian
Field:Computer science
Work Institution:Princeton University
Alma Mater:University of Toronto (BASc)
Princeton University (PhD)
Thesis Title:Some Graph Partitioning Problems Related to Program Segmentation
Thesis Url:http://www.worldcat.org/oclc/39166855
Thesis Year:1969
Doctoral Advisor:Peter Weiner[3]

Brian Wilson Kernighan (;[4] born January 30, 1942)[1] is a Canadian computer scientist.He worked at Bell Labs and contributed to the development of Unix alongside Unix creators Ken Thompson and Dennis Ritchie. Kernighan's name became widely known through co-authorship of the first book on the C programming language (The C Programming Language) with Dennis Ritchie. Kernighan affirmed that he had no part in the design of the C language ("it's entirely Dennis Ritchie's work").[5]

Kernighan authored many Unix programs, including ditroff. He is coauthor of the AWK and AMPL programming languages. The "K" of K&R C and of AWK both stand for "Kernighan".

In collaboration with Shen Lin he devised well-known heuristics for two NP-complete optimization problems: graph partitioning and the travelling salesman problem. In a display of authorial equity, the former is usually called the Kernighan–Lin algorithm, while the latter is known as the Lin–Kernighan heuristic.

Kernighan has been a professor of computer science at Princeton University since 2000 and is the director of undergraduate studies in the department of computer science.[6] [7] In 2015, he co-authored the book The Go Programming Language.

Early life and education

Kernighan was born in Toronto. He attended the University of Toronto between 1960 and 1964, earning his bachelor's degree in engineering physics. He received his Ph.D. in electrical engineering from Princeton University in 1969, completing a doctoral dissertation titled "Some graph partitioning problems related to program segmentation" under the supervision of Peter G. Weiner.[8] [9]

Career and research

Kernighan has held a professorship in the department of computer science at Princeton since 2000.[10] Each fall he teaches a course called "Computers in Our World", which introduces the fundamentals of computing to non-majors.[11] [12]

Kernighan was the software editor for Prentice Hall International. His "Software Tools" series spread the essence of "C/Unix thinking" with makeovers for BASIC, FORTRAN, and Pascal, and most notably his "Ratfor" (rational FORTRAN) was put in the public domain.

He has said that if stranded on an island with only one programming language it would have to be C.[13]

Kernighan coined the term "Unix" and helped popularize Thompson's Unix philosophy.[14] Kernighan is also known for coining the expression "What You See Is All You Get" (WYSIAYG), which is a sarcastic variant of the original "What You See Is What You Get" (WYSIWYG).[15] Kernighan's term is used to indicate that WYSIWYG systems might throw away information in a document that could be useful in other contexts.

In 1972, Kernighan described memory management in strings using "hello" and "world", in the B programming language,[16] which became the iconic example we know today. Kernighan's original 1978 implementation of Hello, World! was sold at The Algorithm Auction, the world's first auction of computer algorithms.[17]

In 1996, Kernighan taught CS50 which is the Harvard University introductory course in computer science. Kernighan was an influence on David J. Malan who subsequently taught the course and scaled it up to run at multiple universities and in multiple digital formats.[18]

Kernighan was elected a member of the National Academy of Engineering in 2002 for contributions to software and to programming languages. He was also elected a member of the American Academy of Arts and Sciences in 2019.[19] [20]

In 2022 Kernighan stated that he was actively working on improvements to the AWK programming language, which he took part in creating in 1977.[21]

Books and reports

Algorithms

Publications

See also

External links

Notes and References

  1. Web site: The Library of Congress. Kernighan, Brian W. - LC Linked Data Service: Authorities and Vocabularies Library of Congress, from LC Linked Data Service: Authorities and Vocabularies (Library of Congress) . id.loc.gov . 3 March 2023.
  2. News: To the Liberal Arts, He Adds Computer Science . . Steve . Lohr . 31 October 2002 . Mr. Kernighan, 60, is a computer scientist.
  3. Brian Wilson. Kernighan. Some Graph Partitioning Problems Related to Program Segmentation. PhD. Princeton University. 1969. 39166855. .
  4. Web site: Pike . Rob . The History of Unix . https://ghostarchive.org/varchive/youtube/20211123/_2NI6t2r_Hs. 2021-11-23 . live. YouTube . 7 November 2018 . 2 May 2020.
  5. Interview with Brian Kernighan. Dolya. Aleksey. 29 July 2003. Linux Journal.
  6. Web site: An Oral History of Unix. https://web.archive.org/web/20070611235312/http://www.princeton.edu/%7Emike/unixhistory.htm. dead. 2007-06-11. 2007-06-11. 2020-05-13.
  7. Web site: Brian Kernighan Computer Science Department at Princeton University. www.cs.princeton.edu. 2020-05-13.
  8. Web site: Brian Kernighan - The Mathematics Genealogy Project. www.genealogy.math.ndsu.nodak.edu. 2020-05-13.
  9. Book: Kernighan, Brian W.. Some graph partitioning problems related to program segmentation. 1969. en.
  10. Web site: Brian Kernighan | Computer Science Department at Princeton University.
  11. Web site: Kernighan . Brian . COS 109, Fall 2021: Home Page . 2022-08-23 . 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..
  12. Kernighan . Brian . COS 109: Computers in our world . https://web.archive.org/web/20170325053126/http://www.cs.princeton.edu/courses/archive/fall14/cos109/01intro.pdf . 2017-03-25 . live . Princeton Education.
  13. Web site: An Interview with Brian Kernighan . Mihai . Budiu . July 2000.
  14. M. D. . McIlroy . Doug McIlroy . 1987 . A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 . https://ghostarchive.org/archive/20221009/http://www.cs.dartmouth.edu/~doug/reader.pdf . 2022-10-09 . live . CSTR . 139 . Bell Labs.
  15. Web site: Brian Kernighan: Geek of the Week. 2010-05-19. Simple Talk. en-US. 2019-02-05.
  16. Web site: 16 October 2021. THE PROGRAMMING LANGUAGE B. live. Bell Laboratories. https://web.archive.org/web/20150611114404/https://www.bell-labs.com/usr/dmr/www/bintro.html . 2015-06-11 .
  17. Web site: Brian Kernighan Hello World. Artsy. 18 June 2015.
  18. Book: Malan. David J.. Proceedings of the 41st ACM technical symposium on Computer science education . Reinventing CS50 . 2010. 152–156. 10.1145/1734263.1734316. 9781450300063. free.
  19. Web site: Dr. Brian W. Kernighan. NAE Website. 2020-05-13.
  20. Web site: Brian W. Kernighan. American Academy of Arts & Sciences. en. 2020-05-13.
  21. Web site: Unix legend, who owes us nothing, keeps fixing foundational AWK code. Ars Technica. 23 August 2022 . en. 2023-05-12.
  22. D is for Digital: What a well-informed person should know about computers and communications
  23. Brian Kernighan and Alan Donovan (2015) The Go Programming Language
  24. UNIX: A History and a Memoir