Brian Wilson Kernighan (/ˈkɜːrnɪhæn/;[6] sinh ngày 1 tháng 1 năm 1942)[1] là một nhà khoa học máy tính người Canada.

Brian Kernighan
Brian Kernighan tại Bell Labs năm 2012
SinhBrian Wilson Kernighan
1 tháng 1, 1942 (82 tuổi)[1]
Toronto, Ontario
Quốc tịchCanada
Tư cách công dânCanada
Trường lớpĐại học Toronto
Đại học Princeton (PhD)
Nổi tiếng vì
Websitewww.cs.princeton.edu/~bwk/
Sự nghiệp khoa học
NgànhKhoa học máy tính
Nơi công tácĐại học Princeton
Luận ánSome Graph Partitioning Problems Related to Program Segmentation (1969)
Người hướng dẫn luận án tiến sĩPeter Weiner[3]
Ảnh hưởng tớiDavid J. Malan[4][5]

Ông đã công tác tại Bell Labs và đóng góp vào sự phát triển của Unix cùng với những người sáng tạo Unix Ken ThompsonDennis Ritchie. Tên tuổi của Kernighan được biết đến rộng rãi thông qua việc đồng tác giả cuốn sách đầu tiên về ngôn ngữ lập trình C (The C Programming Language) với Dennis Ritchie. Kernighan khẳng định mình không tham gia thiết kế ngôn ngữ C ("nó hoàn toàn là tác phẩm của Dennis Ritchie").[7] Ông là tác giả của nhiều chương trình Unix, bao gồm cả ditroff. Kernighan là đồng tác giả của AWKAMPL ngôn ngữ lập trình. Chữ "K" của K&R C và chữ "K" trong AWK đều là lấy chữ cái trong tên gọi "Kernighan".

Cộng tác với Shen Lin, ông đã nghĩ ra heuristic nổi tiếng cho hai bài toán tối ưu hóa NP-complete: phân vùng đồ thịbài toán người bán hàng lưu động. Để thể hiện sự công bằng của tác giả, cái trước thường được gọi là thuật toán Kernighan – Lin, trong khi cái sau được gọi là Lin – Kernighan heuristic.

Kernighan là Giáo sư Khoa học Máy tính tại Đại học Princeton từ năm 2000 và là Giám đốc Nghiên cứu Đại học tại Khoa Khoa học Máy tính.[8][9][10] Năm 2015, ông là đồng tác giả viết quyển sách The Go Programming Language.

Tham khảo

sửa
  1. ^ a b Lohr, Steve (ngày 31 tháng 10 năm 2002). “To the Liberal Arts, He Adds Computer Science”. The New York Times. Mr. Kernighan, 60, is a computer scientist
  2. ^ "C" Programming Language: Brian Kernighan - Computerphile trên YouTube
  3. ^ Kernighan, Brian Wilson (1969). Some Graph Partitioning Problems Related to Program Segmentation (Luận văn). Princeton University. OCLC 39166855. ProQuest 302450661. (cần đăng ký mua)
  4. ^ Mendez, Cordelia F. (2014). “This is CS50”. thecrimson.com. The Harvard Crimson. Bản gốc lưu trữ ngày 17 tháng 3 năm 2017.
  5. ^ Malan, David J. (2010). “Reinventing CS50”. Proceeding of SIGCSE '10 Proceedings of the 41st ACM Technical Symposium on Computer Science Education: 152. doi:10.1145/1734263.1734316. ISBN 9781450300063.
  6. ^ Pike, Rob. “The History of Unix”. YouTube. Truy cập ngày 2 tháng 5 năm 2020.
  7. ^ Dolya, Aleksey (ngày 29 tháng 7 năm 2003). “Ông là tác giả của nhiều chương trình [[Unix]], bao gồm cả [[troff|ditroff]]. Kernighan là đồng tác giả của [[AWK]] và [[AMPL]] [[ngôn ngữ lập trình]].Interview with Brian Kernighan”. Linux Journal. Tựa đề URL chứa liên kết wiki (trợ giúp)
  8. ^ Bản mẫu:ACMPortal
  9. ^ “An Oral History of Unix”. ngày 11 tháng 6 năm 2007. Bản gốc lưu trữ ngày 11 tháng 6 năm 2007. Truy cập ngày 13 tháng 5 năm 2020.
  10. ^ “Brian Kernighan | Computer Science Department at Princeton University”. www.cs.princeton.edu. Truy cập ngày 13 tháng 5 năm 2020.