Brian Kernighan

Brian Kernighan
Brian Kernighan in 2012 at Bell Labs 1.jpg
Brian Kernighan bei Bell Labs in 2012
Geboren
Brian Wilson Kernighan

1942 (Alter 79–80)[1]
Toronto, Ontario, Kanada
Staatsangehörigkeit kanadisch
Staatsbürgerschaft Kanada
Alma Mater Universität von Toronto (Basc)
Princeton Universität (PhD)
Bekannt für
Wissenschaftliche Karriere
Felder Informatik
Institutionen Princeton Universität
These Einige Graph -Partitionierungsprobleme im Zusammenhang mit der Programmsegmentierung (1969)
Doktorand Peter Weiner[3]
Beeinflusst David J. Malan[4][5]
Webseite www.cs.Princeton.edu/~ bwk/

Brian Wilson Kernighan (/ˈkɜːrnɪhæn/;[6] geboren 1942)[1] ist ein Kanadier Informatiker.

Er arbeitete an Bell Labs und zur Entwicklung von beigetragen Unix neben Unix -Schöpfer Ken Thompson und Dennis Ritchie. Kernighans Name wurde weithin durch die Zusammenarbeit des ersten Buches über die Bekanntheit bekannt C Programmiersprache (Die C -Programmiersprache) mit Dennis Ritchie. Kernighan bestätigte, dass er kein Teil des Designs der C -Sprache hatte ("Es ist völlig Dennis Ritchies Arbeit").[7] Er verfasste viele UNIX -Programme, einschließlich Ditroff. Kernighan ist Mitautor der Awk und Ampl Programmiersprachen. Das "k" von K & r c und von awk beide stehen für "kernighan".

In Zusammenarbeit mit Shen Lin entwickelte er bekannt Heuristik für zwei NP-Complete Optimierungsprobleme: Grafikpartitionierung und die Problem mit reisenden Verkäufern. In einer Anzeige von Autoritätsgerechtigkeit wird erstere normalerweise als die genannt Kernighan–Lin algorithm, während letzteres als das bekannt ist Lin -Kernighan Heuristic.

Kernighan war Professor für Informatik bei Princeton Universität Seit 2000 und ist Direktor für Studentenstudien in der Abteilung für Informatik.[8][9][10] Im Jahr 2015 hat er das Buch gemeinsam verfasst Die Go -Programmiersprache.

Frühes Leben und Ausbildung

Brian Kernighan spricht bei einer Hommage an Dennis Ritchie 2012 bei Bell Labs.

Kernighan wurde in geboren Toronto. Er besuchte das Universität von Toronto Zwischen 1960 und 1964 verdiente er seine Bachelor-Abschluss in technische Physik.[7] Er erhielt seine Ph.D. in Elektrotechnik An der Princeton University im Jahr 1969 wurde unter der Aufsicht von Peter G. Weiner eine Dissertation mit dem Titel "Einige Graph -Partitionierungsprobleme im Zusammenhang mit der Programmsegmentierung".[11][12]

Karriere und Forschung

Kernighan hat seit 2000 eine Professur in der Abteilung für Informatik in Princeton abgehalten.[13] Jedes Herbst unterrichtet er einen Kurs namens "Computer in unserer Welt", in dem die Grundlagen des Computers in Nicht-Majors eingeführt werden.

Kernighan war der Software -Editor für Prentice Hall International. Seine "Softwaretools" -Serie verbreitete die Essenz von "C/Unix Thinking" mit Makeovers für BASIC, Forran, und Pascalund vor allem seine ""Ratte"(rationaler Fortran) wurde in die gestellt öffentlich zugänglich.

Er hat gesagt, wenn es auf einer Insel mit nur einer Programmiersprache gestrandet wäre, müsste dies C sein.[14]

Kernighan prägte den Begriff "Unix" und half bei der Popularisierung von Thompson's Unix -Philosophie.[15] Kernighan ist auch als Koiner des Ausdrucks bekannt "Was Sie sehen, ist alles, was Sie bekommen" (WysiaAyg), eine sarkastische Variante des ursprünglichen "Was Sie sehen, was Sie bekommen" (Wysiwyg).[16] Kernighans Begriff wird verwendet, um anzuzeigen, dass WYSIWYG -Systeme Informationen in einem Dokument wegwerfen könnten, das in anderen Kontexten nützlich sein könnte.

1972 beschrieb Kernighan das Gedächtnismanagement in Saiten mit "Hallo" und "Welt", in der B Programmiersprache,[17] Das wurde das ikonische Beispiel, das wir heute kennen. Kernighans ursprüngliche Implementierung von 1978 von 1978 Hallo Welt! wurde verkauft bei Die Algorithmusauktion, die erste Auktion der Welt von Computeralgorithmen.[18]

1996 lehrte Kernighan CS50 Welches ist das Harvard Universität Einführungskurs in Informatik. Kernighan war Einfluss auf David J. Malan Wer lehrte später den Kurs und skalierte ihn, um an mehreren Universitäten und mehreren digitalen Formaten zu laufen.[5]

Kernighan wurde zum Mitglied der gewählt Nationale Akademie des Ingenieurwesens Im Jahr 2002 für Beiträge zur Software und zu Programmiersprachen. Er wurde auch zum Mitglied der gewählt Amerikanische Akademie für Kunst und Wissenschaften 2019.[19][20]

Weitere Erfolge während seiner Karriere sind:

Veröffentlichungen

  • Die Elemente des Programmierstils (1974, 1978) mit P. J. Plauger
  • Software-Tools (1976) mit P. J. Plauger
  • Die C -Programmiersprache (1978, 1988) mit Dennis M. Ritchie
  • Softwaretools in Pascal (1981) mit P. J. Plauger
  • Die UNIX -Programmierumgebung (1984) mit Rob Pike
  • Die awk -Programmiersprache (1988) mit Alfred Aho und Peter J. Weinberger
  • Die Praxis der Programmierung (1999) mit Rob Pike
  • AMPL: Eine Modellierungssprache für die mathematische Programmierung, 2. Aufl. (2003) mit Robert Fourer und David Gay
  • D ist für digital: Was eine gut informierte Person über Computer und Kommunikation wissen sollte (2011)[21]
  • Die Go -Programmiersprache (2015) mit Alan Donovan[22]
  • Verständnis der digitalen Welt: Was Sie über Computer, Internet, Privatsphäre und Sicherheit wissen müssen (2017)
  • Millionen, Milliarden, Zillionen: Verteidigung in einer Welt mit zu vielen Zahlen (2018)
  • Unix: Eine Geschichte und eine Memoiren (2019)[23]

Siehe auch

Verweise

  1. ^ a b Lohr, Steve (31. Oktober 2002). "Zu den freien Künsten fügt er Informatik hinzu". Die New York Times. Herr Kernighan, 60, ist Informatiker
  2. ^ "C" Programmiersprache: Brian Kernighan - Computerphile an Youtube
  3. ^ Kernighan, Brian Wilson (1969). Einige Graph -Partitionierungsprobleme im Zusammenhang mit der Programmsegmentierung (Doktorarbeit). Princeton Universität. OCLC 39166855. Proquest 302450661. (Abonnement erforderlich)
  4. ^ Mendez, Cordelia F. (2014). "Das ist CS50". thecrimson.com. Der Harvard Crimson. Archiviert von das Original Am 2017-03-17.
  5. ^ a b Malan, David J. (2010). "CS50 neu erfinden". Verfahren des SIGCSE '10 Proceedings des 41. ACM -technischen Symposiums für Informatikunterricht: 152. doi:10.1145/1734263.1734316. ISBN 9781450300063.
  6. ^ Pike, Rob. "Die Geschichte der Unix". Youtube. Archiviert vom Original am 2021-11-23. Abgerufen 2. Mai 2020.
  7. ^ a b Dolya, Aleksey (29. Juli 2003). "Interview mit Brian Kernighan". Linux Journal.
  8. ^ Brian Kernighan Autorenprofilseite am ACM Digitale Bibliothek
  9. ^ "Eine mündliche Geschichte von Unix". 2007-06-11. Archiviert von das Original am 2007-06-11. Abgerufen 2020-05-13.
  10. ^ "Brian Kernighan | Abteilung für Informatik an der Princeton University". www.cs.princeton.edu. Abgerufen 2020-05-13.
  11. ^ "Brian Kernighan - Das Mathematik -Genealogie -Projekt". www.genealogy.math.ndsu.nodak.edu. Abgerufen 2020-05-13.
  12. ^ Kernighan, Brian W. (1969). Einige Graph -Partitionierungsprobleme im Zusammenhang mit der Programmsegmentierung.
  13. ^ "Brian Kernighan | Abteilung für Informatik an der Princeton University".
  14. ^ Budiu, Mihai (Juli 2000). "Ein Interview mit Brian Kernighan".
  15. ^ a b c d McIlroy, M. D. (1987). A Research Unix Reader: Annotierte Auszüge aus dem Programmierhandbuch, 1971–1986 (PDF) (Technischer Bericht). Cstr. Bell Labs. 139.
  16. ^ "Brian Kernighan: Geek der Woche". Einfaches Gespräch. 2010-05-19. Abgerufen 2019-02-05.
  17. ^ "Die Programmiersprache B". Glockenlabors. 16. Oktober 2021. Archiviert vom Original am 2015-06-11.
  18. ^ "Brian Kernighan - Hallo Welt". Künstlerisch. Künstlerisch. Abgerufen 18. Juni 2015.
  19. ^ "Dr. Brian W. Kernighan". NAE -Website. Abgerufen 2020-05-13.
  20. ^ "Brian W. Kernighan". Amerikanische Akademie für Kunst und Wissenschaften. Abgerufen 2020-05-13.
  21. ^ D ist für digital: Was eine gut informierte Person über Computer und Kommunikation wissen sollte ISBN1463733895
  22. ^ Brian Kernighan und Alan Donovan (2015) Die Go -Programmiersprache ISBN0134190440
  23. ^ Unix: Eine Geschichte und eine Memoiren ISBN1695978552

Externe Links