ブライアン・ウィルソン・カーニハン(/ ˈ k ɜːrn ɪ h æ n / ; [ 5 ] [ 6 ] 1942年1月30日生まれ)[ 1 ]はカナダのコンピュータ科学者です。ベル研究所で働き、Unix の開発者であるケン・トンプソンとデニス・リッチーと共にUnixの開発に貢献しました。カーニハンの名前は、デニス・リッチーと共著したC プログラミング言語に関する最初の書籍(The C Programming Language)によって広く知られるようになりました。カーニハンは、C 言語の設計には一切関わっていないと断言しています(「それは完全にデニス・リッチーの仕事です」)。[ 7 ]
カーニハンは、 ditroffをはじめとする多くのUnixプログラムを作成した。彼はAWKとAMPLというプログラミング言語の共同開発者でもある。K &R CとAWKの「K」はどちらも「Kernighan」の頭文字である。
彼は沈林と共同で、NP完全最適化問題であるグラフ分割問題と巡回セールスマン問題に対する有名なヒューリスティックを考案した。著者の功績を称えるため、前者は通常カーニハン・リンアルゴリズムと呼ばれ、後者はリン・カーニハンヒューリスティックとして知られている。
カーニハンは2000年からプリンストン大学のコンピュータサイエンスの教授であり、コンピュータサイエンス学科の学部長を務めている。[ 8 ] [ 9 ] [ 10 ] 2015年には、共著で『The Go Programming Language』を出版した。

カーニハンはトロントで生まれた。 1960年から1964年までトロント大学に通い、工学物理学の学士号を取得した。[ 7 ] 1969年にプリンストン大学で電気工学の博士号を取得し、ピーター・G・ワイナーの指導の下、「プログラム分割に関連するいくつかのグラフ分割問題」というタイトルの博士論文を完成させた。[ 11 ] [ 12 ]
カーニハンは2000年からプリンストン大学のコンピュータサイエンス学科で教授を務めている。[ 13 ]毎年秋には「コンピュータの世界」というコースを担当し、コンピュータサイエンスを専攻していない学生にコンピュータの基礎を紹介している。[ 14 ] [ 15 ]
カーニハンはプレンティス・ホール・インターナショナルのソフトウェア編集者だった。彼の「ソフトウェアツール」シリーズは、 BASIC、FORTRAN、Pascalの改良を通して「C/Unix思考」の本質を広め、中でも彼の「Ratfor 」(Rational FORTRAN)はパブリックドメインとなった。
彼は、もしプログラミング言語が1つしかない島に漂着したら、C言語を選ぶだろうと述べている。[ 16 ]
カーニハンは「Unix」という用語を作り出し、トンプソンのUnix哲学を普及させるのに貢献した。[ 17 ]カーニハンはまた、「見たままが得られる」(WYSIAYG)という表現を作り出したことでも知られている。これは、元の「見たままが得られる」(WYSIWYG)の皮肉な変形である。[ 18 ] カーニハンの用語は、WYSIWYGシステムが、他のコンテキストでは役立つ可能性のある文書内の情報を破棄する可能性があることを示すために使用されている。
1972年、カーニハンはB言語で「hello」と「world」を使って文字列のメモリ管理について説明しました[ 19 ]。これは今日私たちが知っている象徴的な例となりました。カーニハンの1978年のオリジナルのhello, world!の実装は、世界初のコンピュータアルゴリズムのオークションであるThe Algorithm Auctionで販売されました[ 20 ]。
1996年、カーニハンはハーバード大学のコンピュータサイエンス入門コースであるCS50を教えた。カーニハンは、後にこのコースを教え、複数の大学や複数のデジタル形式で実施するように規模を拡大したデイビッド・J・マランに影響を与えた。[ 21 ]
カーニハンは、ソフトウェアとプログラミング言語への貢献により、2002年に全米技術アカデミーの会員に選出された。また、 2019年にはアメリカ芸術科学アカデミーの会員にも選出された。[ 22 ] [ 23 ]
2022年、カーニハンは、1977年に作成に携わったAWKプログラミング言語の改良に積極的に取り組んでいると述べた。[ 24 ]
カーニハン氏(60歳)はコンピュータ科学者である。
このコースは基本的に例年と同じ構成ですが、講義、ケーススタディ、例は毎年、その時々の状況に応じて変更されます。