剛拿到《UNIX傳奇——歷史與回憶》這本書,看到作者的名字,就讓我一下子感到好親切,
作者Brian Kernighan是普林斯頓的教授,10年前我在普林斯頓大學做博士后時,和Kernighan教授的辦公室都在計算機系樓的三層,經常能看到他,那時他給本科生上一門計算機入門課,一位師弟是他的助教,當時我還做過他布置的編程大作業,
這本書讓我想起了十年前在普林斯頓的一些美好回憶,那時很多人一起午餐時會聊些科研,也會聊些八卦,我記得就好多次聊到過Kernighan教授,有一次聊到1983年圖靈獎,頒給了發明Unix和C語言的Ken Thompson和Dennis Ritchie,大家聊到如果能頒給三個人,那么第三個人就應該是Brian Kernighan——Unix這個詞就是他創造出來的,他為Unix寫了很多軟體(如awk),他和Ritchie合著的《The C Programming Language》已成為歷史經典,他撰寫的“Hello, World!”程式幾乎成為全世界所有程式員的圖騰,此外,他在圖劃分問題、旅行商問題上也做出突出貢獻,提出了經典的“Kernighan-Lin”演算法,因為Kernighan對計算機領域的杰出貢獻,也讓他獲得了美國工程院院士、美國AAAS院士等榮譽,
可以說,Kernighan教授是Unix的見證人,同時他還很擅長寫書,所以在讀這本書之前我預計會很有料,讀完之后,果然感到非常過癮,全書不到230頁,其實半天就能看完,但很多章節值得反復細讀,有些內容篇幅不長,卻是蘊含很大資訊量的歷史索引——按圖索驥,能讓我們更好地把握技術演進背后的規律,
舉兩個例子,
一、書中第4.4節介紹管道(pipe)的由來,我反復讀了好幾遍,越讀越受啟發——管道是Unix中很引人注目的創新,其原始想法早在Unix誕生5年前就在貝爾實驗室一份內部檔案中提出,但卻一直未能實作,當第一版Unix完成后,它便成了一個試驗創新想法的平臺,1972年的某一天,Ken Thompson突然想到了在Unix上可以很容易就實作管道機制,于是他只花了一個小時就在Unix上添加管道系統呼叫,然后又把管道機制添加到shell,頓時就看到了“很震撼”的結果,一個醞釀了8年的想法,竟然在一個小時內就實作了!
管道的故事,讓我們看到了花時間研制平臺的價值,也讓我們對正在研制的平臺更有信心、對我們選擇的模式更加堅定,所以,讀一本好的歷史書或回憶錄,能讓我們有機會去感受到這種跨越時空的鼓舞和激勵,
管道的故事,也給我在國科大本科的作業系統課提供了生動的教學素材,作為一位授課老師,總是希望課堂氣氛能活躍生動些,而這本書就提供了大量生動的小故事,所以強烈推薦上作業系統課的老師們讀一讀,
二、第8.2節“UNIX戰爭”和第8.3節“Minix和Linux”,篇幅都不長,但資訊量非常大,Unix的發展程序中也曾遭遇版本分叉、標準競爭甚至商業訴訟等各種事件,這些也許是很多技術人員不愿見到但卻又是不得不面對的事情,那又該如何面對?這本書能給我們一些啟發,
這本書中也提到了Oracle和Google之間一場歷時10年的Java API侵權案,已經打到了美國最高法院,由于疫情原因,最終判決推遲到了2021年6月,Bernighan教授參與簽署了一些陳述檔案,作為見證者和親歷者,也給出了他的思考——認為API不該有著作權,
不管是Unix戰爭,還是Minix/Linux之爭,又或是Oracle/Google之間的官司,這些事件都客觀上推動了資訊技術朝著更開放、更共享、更開源的方向發展,
總之,這是一本有料的、值得一讀的好書,在此強烈推薦,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/260969.html
標籤:AI
上一篇:云原生簡史
下一篇:CTF~Misc
