84歲圖靈獎得主高德納的《電腦程式設計藝術:卷4B》終於出版

從博士期間的一個決定開始,高德納已經堅持寫了 50 年。

剛剛,84 歲的圖靈獎得主高德納在個人主頁宣佈:自己編撰的《電腦程式設計藝術:卷 4B》終於出版了。

電腦程式設計藝術:卷 4B

「我的出版商剛剛告訴我,第 2 部分(732 頁,目前是第一次印刷)於 9 月 28 日到達他們的倉庫!發貨將於 10 月初開始。」

《電腦程式設計藝術》系列著作是公認的經典電腦科學權威論述,曾在 1999 年被《美國科學家》期刊評選為 20 世紀相當重要的 12 部學術專著之一。多年來,這本書一直是廣大學生、研究人員和業內人士學習程式設計理論和實踐的無價之寶。

如今,距離上一本《電腦程式設計藝術:卷 4A》出版已經過去了 11 年。這些年間,卷 4A 再版了 21 次,人們卻遲遲未等到卷 4B 的正式出版。

不過,卷 4B 的大部分內容的初稿已經分別在 2015 年和 2019 年以平裝本的形式出版。在整理新書稿的同時,高德納老爺子也在不斷接受讀者反饋,對已發佈的初稿內容進行修訂。這些成果和心血,均已集成在即將出版的卷 4B 之中。

筆耕不輟五十年

高德納是演算法和程式設計領域的先驅者,對電腦科學發展史也有著深入的研究。

「電腦科學既壯觀又幽美,我嘗試儘自己所能,以十分恰當的方式來解釋我所了解的某些片斷。很顯然,我自己並沒有任何超自然能力,但的確很喜歡講述那些似乎靜靜地等待著人們去講出來的故事。寫書跟講故事十分類似。」 在圖靈訪談中,高德納曾談到自己對寫作的熱愛。

這是一項浩大的工程。《電腦程式設計藝術》系列著作的寫作始於 1962 年,當時高德納還處於研究生學習階段。1968 年,他出版了該書的第 1 卷,目前這一卷已經印了 27 版。而第 2 和 3 卷分別出版於 1969 和 1973 年,那時他已經是史丹佛大學的電腦科學教授。

1974 年,年僅 36 歲的高德納成為了圖靈獎史上最年輕的獲獎者。

為了專心寫作,1993 年,高德納從史丹佛大學退休,將全部精力投入到《電腦程式設計藝術》系列書籍的編撰之中。他說:「我提前退休是因為意識到我需要至少 20 年的全職工作才能完成《電腦程式設計藝術》系列,我一直將其視為一生中最重要的項目。」

TAOCP 系列叢書(1968-2015)。

在規劃中,這套書將總共出版 7 卷。在已出版的書目中,卷 1 主要介紹基本演算法,卷 2 主要介紹半數值演算法,卷 3 主要介紹排序與查找,卷 4 主要介紹組合演算法,卷 5、6、7 將分別介紹語法演算法、語言理論和編譯器。

在高德納目前的計劃中, 卷 4 將分為 4A、4B、4C 等,每本書的標題均為《組合演算法:Part 1、2、3……》。

卷 4A 和卷 4B 均為組合演算法相關內容,已出版的卷 4A 主要涉及布爾函數、按位操作技巧、元組和排列、組合和分區以及所有的樹等,而卷 4B 的內容將於 2022 年 10 月 11 日出版。

當前正在編寫的卷 4 其餘內容概要如下:

與此同時,第 5 卷關於句法演算法的內容也正在準備中,高德納預計「將於 2025 年準備就緒」。

未來的規劃

高德納曾表示,除了《電腦程式設計藝術》系列,自己已經完成了所有的人生目標。

對於接下來的寫作,高德納已經做了清晰的規劃:

「在我繼續編寫第 4 卷和第 5 卷時,我需要參考那些在邏輯上屬於第 1—3 卷但在我寫這些書時尚未發掘的主題。我不會將這些材料人為地放入第 4 卷或第 5 卷,而是將其製成分冊形式。」

「在第 5 卷完成後,我將再次修訂第 1—3 卷以使其保持最新狀態。然後我將出版第 1—5 卷的讀者文摘版,將最重要的材料濃縮成一本書。」

「第 1—5 卷完成後,上帝保佑,我計劃出版第 6 卷(語言理論)和第 7 卷(編譯器技術)。1—5 卷代表時序機電腦程式設計的核心,第 6 卷和第 7 卷的主題很重要,但會更專業。」

他也曾解釋過自己深居簡出的生活方式:「我的全職寫作計劃意味著我必須成為一個隱士,以便有足夠的效率來完成 《電腦程式設計藝術》。唯一的方法是在批量處理模式下操作,不間斷地專注於一個主題,而不是在腦海中交換許多主題。我無法安排與訪客的約會、參加會議或接受演講活動,或承擔任何類型的新職責。」

2021 年,高德納在接受《Quanta Magazine》專訪時說到:「我平均每週寫 5 個新程序。詩人必須寫詩,而我必須寫電腦程序。」

值得慶幸的是,高德納老爺子的身體比我們想象得更加康健。一位 HackerNews 使用者曾描述了自己幾年前拜訪高德納的場景:

幾年前,我有幸在 Knuth 家裡見到了他,我的妻子正在為他拍攝一些照片。他帶我到他的房間,向我展示了他的裝置,當時他正在研究 sudoku 演算法。他的手速快得驚人,在 EMac 窗格之間移動、觸發評估和輸出結果,與任何 20 歲的人一樣。80 多歲的他,精神似乎沒有任何衰退。

我開始和他談論一些最新的人工智慧研究,他提到了論文作者,並且已經閱讀了它們!他不僅在 84 歲時仍然保持生產力,而且他並沒有固定於某一特定學科,而是繼續與其他相關領域保持同步。

我只希望他能再活一百歲,讓我看到《電腦程式設計藝術》第五、六、七卷完結。

參考連結:https://www-cs-faculty.stanford.edu/~knuth/taocp.html