
布莱恩·柯林汉
- 生卒
- 1942 –
- 国籍
- 加拿大、美国
- 外文名
- Brian Kernighan
照片:Ben Lowe,CC BY 2.0,来自维基共享资源「Brian Kernighan in 2012 at Bell Labs 1.jpg」(经缩小)。
生平与创作
布莱恩·威尔森·克尼汉(英语:Brian Wilson Kernighan,1942年1月30日—),又译柯林汉,生于加拿大多伦多,加拿大计算机科学家,曾服务于贝尔实验室,为普林斯顿大学教授。他曾参与Unix的研发,也是AMPL与AWK的共同创造者之一。
与丹尼斯·里奇共同写作了C语言的第一本著作《C程序设计语言》之后,他的名字开始为人所熟知。他也创作了许多Unix上的程式,包括在Version 7 Unix上的ditroff与cron。
生平
在多伦多出生,1960年至1964年间,就读于多伦多大学,取得工程物理学(Engineering physics)学士。在普林斯顿大学取得电子工程博士,毕业后留在普林斯顿大学任教,直到2000年退休为止。
布莱恩·克尼汉是贝尔实验室的成员之一,曾参加UNIX系统的早期开发,之后又加入了贝尔实验室九号计划(Plan 9)的研发。在1970年代,布莱恩·克尼汉首先提出了UNIX这个名称,用来取代之前的UNICS(Uniplexed Information and Computing System)。模仿所见即所得(What You See Is What You Get,WYSIWYG),他提出所见即所有(What You See Is All You Get,WYSIAYG)这个名词。
1972年,在"A Tutorial Introduction to the Language B" 中,首次提出Hello world程式,作为编程语言入门的示范。
1978年,与丹尼斯·里奇共同写作了《C程序设计语言》(The C Programming Language),在当中除了介绍C语言之外,也形成了所谓 K&R C 的程式风格(Coding Style)。
著作
《C程序设计语言》
《程序设计实践》
《The Go Programming Language》
以上文字摘自维基百科「布萊恩·克尼漢」(去掉了参考文献等尾部小节),按 CC BY-SA 4.0 使用,作者为维基百科的各位编者。
中文维基百科的条目比较短,下面附上英文维基百科的内容(英文原文):
Brian Wilson Kernighan (born 30 January 1942) 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").
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. 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.
Career and research
Kernighan has held a professorship in the department of computer science at Princeton since 2000. Each fall he teaches a course called "Computers in Our World", which introduces the fundamentals of computing to non-majors.
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.
Kernighan coined the term "Unix" and helped popularize Thompson's Unix philosophy. 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). 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, 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.
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.
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.
In 2022, Kernighan stated that he was actively working on improvements to the AWK programming language, which he took part in creating in 1977.
Books and reports
The Elements of Programming Style, with P. J. Plauger
Software Tools, a book and set of tools for Ratfor, co-created in part with P. J. Plauger
Software Tools in Pascal, a book and set of tools for Pascal, with P. J. Plauger
The AWK Programming Language, with Alfred V. Aho, and Peter J. Weinberger
The C Programming Language, with C creator Dennis Ritchie, the first book on C
The Practice of Programming, with Rob Pike
The Unix Programming Environment, a tutorial book, with Rob Pike
以上文字摘自英文维基百科「Brian Kernighan」(有删节,去掉了参考文献等尾部小节),按 CC BY-SA 4.0 使用,作者为维基百科的各位编者。
资料卡
- 本名
- Brian Wilson Kernighan
- 出生
- 1942 年 1 月 1 日
- 出生地
- 多伦多
- 职业
- 计算机科学家、工程师、程序员、作家、大学教师
- 使用语言
- 英语
- 就读学校
- 多伦多大学(1960)、普林斯顿大学
- 领域
- 计算机科学家、信息学、计算机程序设计、编程语言
- 所属团体
- 美国国家工程院(2002)、美国文理科学院
- 代表作
- AWK、AMPL、C程序设计语言、Unix操作系统
资料卡来自 Wikidata Q92608(CC0),众包数据,个别字段可能不全。
本站收录的作品(4)
作品年表(9 本)
本站书库里署名布莱恩·柯林汉的书(Open Library 上至少 10 人加过书架的才收),按首版年份排(有本站书页的用 Wikidata 记的首版年,其余用 Open Library 的);年份偶尔记成后来的版本或译本,以原书为准。全部作品见 Open Library。
- 1974编程风格的元素The elements of programming style书架 15
- 1976Software tools书架 14
- 1978C程序设计语言The C Programming Language书架 1,069
- 1984The UNIX programming environment书架 33
- 1988The AWK programming language书架 22
- 1999The Practice of Programming (Addison-Wesley Professional Computing Series)书架 40
- 2015The Go Programming Language书架 32
- 2017Understanding the Digital World书架 10
- 2019UNIX书架 41



