任性的C語言之父:因拒付裝訂費錯失博士學位,論文52年後重見天日

2020-12-14 機器之心Pro

選自CHM

作者:David C. Brock

機器之心編譯

參與:張倩、魔王

他是C語言之父、1983年圖靈獎得主,還是Unix的關鍵開發者。然而,他卻因為「任性」沒有拿到博士學位,而且當年寫的博士論文一丟就是半個世紀。如今,這一神秘的博士論文終於重見天日。

很多人可能聽說過 Dennis Ritchie 這個人。上世紀 60 年代末,他從哈佛大學應用數學系畢業並「子承父業」加入貝爾實驗室,在那裡度過了他的整個職業生涯。加入貝爾實驗室不久,他就和 Ken Thompson 一起開發了 Unix 作業系統和經久不衰的 C 語言。Thompson 領導了系統的開發,Ritchie 則主導了 C 語言的創造。在 C 語言問世之後,Thompson 又用它重寫了 Unix。1983 年,Dennis Ritchie 和 Ken Thompson 共同獲得圖靈獎。

半個世紀之後,Unix 已經成為構建數字世界大多數作業系統的基礎,而 C 語言則成為世界上最受歡迎的程式語言之一。

Ken Thompson 和 Dennis Ritchie

雖然 Dennis Ritchie 已經於 2011 年去世,但貝爾實驗室依然保留著他的個人主頁。在這個頁面上,Ritchie 用他特有的乾巴巴的口吻對自己的計算科學求學生涯進行了介紹:

「我在哈佛大學讀本科並進一步深造,我的本科專業是物理學,研究生專業是應用數學…… 我的博士論文(1968 年)關於函數的子遞歸層次(subrecursive hierarchies)。本科階段的學習讓我明白,以自己的才智還不足以成為一名物理學者,而往計算機方向發展似乎相當不錯。研究生階段的經歷又讓我清醒,自己的才智也不足以讓我成為算法理論方面的專家。我自己更喜歡過程式語言,而不是函數式語言。」

且不論這些自我評價是否客觀,Ritchie 選擇的道路的確將他帶到了一個讓自己大放異彩的領域。

儘管 Ritchie 在計算機領域享有盛名,但鮮為人知的是,他的博士學位論文沒有幾個人親眼見過,因為這份論文——遺失了。

沒錯,就是遺失了,既沒有發表也沒有被任何公開文獻收錄,甚至哈佛大學圖書館的館藏目錄和論文資料庫中也找不到這篇論文。2011 年 Ritchie 去世的時候,他的妹妹 Lynn 仔細地翻閱了哈佛的館藏記錄和其他渠道,也沒有找到一份副本。

功夫不負苦心人,最終,她從 Ritchie 導師的遺孀那裡找到了一本。但由於缺少公開副本,在過去的半個世紀裡,只有不到十幾個人讀過這篇論文。

為什麼會出現這種情況?

在 Ritchie 的自我描述中,我們注意到,他並沒有明確說明自己憑藉 1968 年那篇論文拿到了博士學位。實際情況是:他的確沒有拿到博士學位。

這中間出了什麼狀況?Ritchie 的研究生同窗、MIT 教授 Albert Meyer 給出了一個意想不到的答案。

因為不想付裝訂費,博士論文遺失了半個多世紀

Albert Meyer 回憶道:

「我從我們導師 Pat Fischer 那裡聽到的解釋是,當時哈佛有一項規定:要想獲得博士學位就得向學校圖書館提交一份裝訂好的論文,然後圖書館才會給你一份用來獲得博士學位的證明。當時,Dennis 已經將論文提交給了論文評審委員會,而且得到了通過。他還手打了一份準備提交給圖書館,但圖書館卻告訴他論文需要裝訂成冊再提交。那時候,裝訂費不是一筆小數目…… 倒也不是貴到拿不出來那種,只是說所費不菲。據 Pat 所說,Dennis 當時的態度是:『如果哈佛圖書館想要一本裝訂好的論文,那他們應該自己掏錢,我是不會掏的!』很顯然,他的確這麼做了,也因此沒拿到博士學位。」

所以,這位大佬之所以沒有拿到博士論文,並不是論文本身有問題,而是因為「任性」,打死不交裝訂費!

經過多方打聽,Lynn 證實了 Ritchie 的確沒有提交裝訂版論文,也的確沒有拿到哈佛的博士學位,但 Ritchie 的兄弟 John 認為,他之所以這麼「任性」絕不僅僅是因為那點裝訂費:Ritchie 當時已經有了一份夢寐以求的工作——貝爾實驗室研究員,而且他是那種不拘小節的人,「不會去關心生活中的一些細枝末節」。

剛進入貝爾實驗室的時候,Dennis Ritchie(右)和他的父親 Alistair Ritchie(左)以及電子開關先驅 William Keister(中)一起工作。

最近,Ritchie 的家人向美國計算機歷史博物館(CHM)捐贈了他的一些遺物,其中最重要的便是 Ritchie 的博士論文影印件,這也是半個世紀以來這篇論文首次公開。隨之一起捐贈的還包括 Unix 的早期原始碼(1970–71)。

這篇論文寫於 1968 年,題目是《Program Structure and Computational Complexity》,當時的 Ritchie 才 27 歲。如今,Ritchie 離我們遠去,論文也早已褪色發黃。

Dennis Ritchie 遺失半個世紀的論文手稿首次公開。

和影印本一起公開的還有該論文的電子版。

論文地址:

https://archive.computerhistory.org/resources/access/text/2020/05/102790971/Ritchie_dissertation.pdf

或許,這篇論文可以帶我們一窺計算機科學發展的早期情況,了解當年的先驅人物所面臨的挑戰。此外,它還可以提醒我們在這條路上已經走了多遠,以及技術在人的短暫一生中所發生的變化。

解碼 Dennis Ritchie 的博士論文

將 Dennis Ritchie 的論文手稿復原並公開是一回事,理解它又是另一回事。

要想理解這篇論文的內容,我們需要回到 20 世紀初,那個數學家、哲學家、邏輯學家探討數學終極基礎的創造年代。

在那之前的幾個世紀中,數學知識的特性——精確性(exactitude)和確定性(certitude),使它處於一種特殊甚至神聖的地位。對這些數學特性源頭或基礎的哲學思考可以至少追溯至畢達哥拉斯和柏拉圖,而在 20 世紀初期,有影響力的數學家和哲學家將形式邏輯(用符號系統表達規則和推理步驟)作為數學的基礎。

在 20 世紀 20 年代,德國數學家大衛 · 希爾伯特(David Hilbert)試圖捍衛形式邏輯作為數學基礎的觀點,並產生了很大影響。具體而言,Hilbert 認為,你可以通過形式邏輯中的特定證明構建數學的某種特性,例如數學沒有矛盾,任意數學論斷要麼真要麼假。

Hilbert 倡導的這種證明就是「finitist」,依賴於使用簡單顯式、幾乎機械式的規則操控形式邏輯的表達符號。

20 世紀 30 年代,人們尋求此類符號邏輯操縱規則,數學家和哲學家將其與計算聯結起來,並建立了逐步的嚴謹流程,以便人類「計算機」和機械計算器執行數學運算。

庫爾特 · 哥德爾(Kurt Gdel)提供了 Hilbert 提倡的這類證明,但是卻展示了 Hilbert 期望的反面。哥德爾的邏輯沒有展示確保數學中一切均正確的邏輯是可以被證明的,而是走向了反面,即哥德爾不完備定理。

對於這一令人震驚的結果,哥德爾的證明依賴於關於特定數學對象「原始遞歸函數」(primitive recursive function)的論點。哥德爾遞歸函數的重點是,它們可計算且依賴於「有限過程」,即 Hilbert 認為的那種簡單、幾乎機械式的規則。

左:學生時期的哥德爾(1925 年);右:David Hilbert(1912 年)。

在哥德爾之後,美國數學家阿隆佐 · 邱奇(Alonzo Church)使用類似的可計算性(computability)論點形成了邏輯證明,該證明不僅表明數學不總是可判定的,一些數學表述甚至無法確定真假。邱奇的證明基於「能行可計算函數」(effectively calculable function)概念,該函數基於哥德爾的遞歸函數。

幾乎同時,英國的阿蘭 · 圖靈構建了具備同樣結果的證明,不過他的證明基於抽象「計算機器」運算所定義的「可計算性」概念。這一抽象圖靈機能夠執行任意計算,後來成為理論計算機科學的重要基礎。

之後的幾十年裡,在計算機科學還未成為公認學科之前,數學家、哲學家等開始各自探索計算的本質,逐漸脫離了與數學基礎的聯繫。

正如 Albert Meyer 在採訪中所講述的:

「在 20 世紀三四十年代,『什麼是可計算的,什麼是不可計算的』得到廣泛的研究和理解。哥德爾和圖靈對可計算和不可計算的事物進行了邏輯限制。但是 60 年代出現了新想法:『讓我們嘗試理解可以用計算做什麼』,也就在那時計算複雜性的概念出現了…… 你可以通過計算做所有事情,但並不是全部都那麼容易…… 計算的效果會如何呢?」

隨著電子數字計算的興起,對於這些研究者而言,問題不再是關於可計算性的邏輯論證對數學本質的影響,而是這些邏輯論證對於可計算性自身限制的揭示。

隨著這些限制得到充分理解,研究者的興趣轉移到這些限制內的可計算性本質問題。

MIT 教授 Albert Meyer。

對於上述問題的探索部分發生在 20 世紀 60 年代中期。當時,Dennis Ritchie 和 Albert Meyer 都進入哈佛大學應用數學系進行研究生學習,而應用數學系也往往是電子數字計算實踐在校園中紮根的地方。Meyer 回憶道:

「應用數學是一個龐大的學科,而這種計算理論只是其中很小、很新的一部分。」

進入哈佛應用數學系之後,Ritchie 和 Meyer 對計算理論越來越感興趣,因此他們找到了 Patrick Fischer 作為自己的導師。Fischer 當時剛剛拿到博士學位,他在哈佛任教時間不長,恰好與 Ritchie 和 Meyer 讀研的時期重疊。Meyer 回憶道:

「Patrick 對於理解計算的本質非常感興趣。他想知道是什麼讓一切變得複雜,又是什麼讓它們變得簡單…… 不同種類的程序能做什麼?」

一份暑假作業

在經歷了一年的研究生學習之後,Fischer 單獨僱傭了 Ritchie 和 Meyer 作為暑期研究助理。Meyer 被分到的工作是研究 Fischer 在計算理論中發現的一個「開放性問題」,並在暑期結束前給出報告。而 Fischer 此時即將離開哈佛。

Meyer 花了一整個夏天獨自苦苦研究這個問題,但暑期結束之前也只完成了一小部分。不久之後,在去參加 Fischer 一個研討會的路上,Meyer 忽然想到了解決方法,他興奮地將這個突破告訴了 Fisher。但令 Meyer 驚訝並略微失望的是,Fisher 告訴他其實 Ritchie 也已經想到了解法。原來,Fisher 把同一個問題交給了兩個人解決,但是沒有告訴他們對方拿到了同樣的問題!

Dennis Ritchie 和他的父親 Alistair E. Ritchie。

Fisher 給兩人出的難題是一個關於計算複雜性的大問題,與計算一種事物相對於另一種事物的相對容易度或時間有關。回想一下哥德爾使用原始遞歸函數來例證有限過程的可計算性,這是他著名論文中的關鍵點。20 世紀 50 年代,波蘭數學家 Andrzej Grzegorczyk 根據函數增長的快慢定義了這些遞歸函數的層次結構。Fischer 的暑期問題就是讓 Meyer 和 Ritchie 探索這種函數的層次結構與計算複雜性之間的關係。

難得的是,Meyer 對 Ritchie 解法的讚賞抵消了自己的失望情緒,他回憶道,「……Dennis 提出的循環程序概念真是太美了,而且如此重要,這是一個非常好的解釋機制,也是一個闡明主題的聰明方法,我甚至都不關心他是否解決了問題。」

而 Ritchie 在這個暑期提出的循環程序就是他 1968 年博士論文的核心。其實,循環程序本質上是非常小、非常有限的電腦程式,在 BASIC 中用 FOR 命令編寫過循環程序的人應該都不會陌生。

在循環程序中,你可以將一個變量設置為零,給一個變量加上 1,或者將一個變量的值移動到另一個變量。就是這樣。在循環程序中唯一可用的控制是一種簡單循環,指令序列在其中重複一定次數。重要的是,循環可以「嵌套」,即循環套循環。

Ritchie 在他的博士論文中表明,這些循環函數正是產生哥德爾原始遞歸函數所需要的,而且只需要這些函數;它們恰好能夠反映 Grzegorczyk 提出的層次結構。

哥德爾認為其遞歸函數具有很強的可計算性,而 Ritchie 則證明了循環程序正是完成這項工作的合適工具。

Ritchie 的論文表明,循環程序的嵌套程度是對其計算複雜性的一種度量,同時也是對它們所需計算時間的一種度量。此外,他還指出,通過循環的深度來評估循環程序與 Grzegorczyk 的層次結構完全相同。原始遞歸函數的增長速度確實與它們的計算複雜性有關,實際上,它們是相同的。

Meyer 回憶道:

「循環程序被做成了一個非常簡單的模型,任何計算機科學家都可以立即理解。在解釋原始遞歸層次的時候,傳統公式用非常複雜的邏輯學符號來表示複雜的語法,普通人很難理解。但現在,你突然發現了一個三四行就能把循環程序描述清楚的計算機科學解釋。」

Meyer 解釋說:

「Dennis 是一個非常可愛、隨和、謙遜的人。顯然他很聰明,但也有些沉默寡言…… 我們一起討論過我們合著的《The Complexity of Loop Programs》,他讀了這篇論文並給出了自己的評價,並向我解釋了循環程序。」

1967 年,這篇論文被 ACM 發表。在 Meyer 的理論計算機科學生涯中,這篇論文開啟了一個多產的時代,而且是他職業生涯的重要一步。但對於他和 Ritchie 的合作來說,這卻是終點。

「真是令人失望。我很想和他合作,因為他看起來很聰明,很友好,和他一起工作很有趣。但是,你知道,他已經在做其他的事情了。他整晚都在玩《太空戰爭》!」Meyer 如此回憶當時的情景。

讓我們回到文章開頭提到的 Ritchie 的個人評價:「研究生階段的經歷讓我清醒,自己的才智不足以讓我成為算法理論方面的專家」。

了解了這篇博士論文之後,我們發現,他好像說謊了。或許,比起理論研究,實現對於 Ritchie 來說更有誘惑力,因此他才選擇通過創建新系統、新語言來探索計算的邊界、本質和可能性。

相關焦點

  • 2021年北京語言大學博士研究生招生簡章
    2021年博士研究生招生入學考試工作已經展開,新東方在線考博頻道將為廣大2021考博考生發布轉載各博士招生單位發布的2021年博士研究生招生簡章、考博專業目錄、考博參考書目、及導師聯繫方式,以下是2021年北京語言大學博士研究生招生簡章。
  • 博士抄襲畢業論文會怎樣?我以為只是撤銷學位和取消畢業證?
    01欺騙沒被發現,不代表沒有責任2006年,從中國科學院大學獲悉,該校一名博士畢業生6年後被發現因博士學位論文存在嚴重抄襲,撤銷了其學位,同時取消了該博士畢業證,也不再具備輔導學生的資格。作為一所以研究生教育為主的高等學校,中科院大學在學生管理方面素來以「嚴」著稱,如碩士生一學期有兩門學位課程考試不及格,或有一門學位課程考試不及格經補考後仍不及格;博士生有一門學位課程考試不及格,都會被作退學處理。而在考試中作弊或被發現有剽竊、抄襲等學術不端行為的,在校學生會被開除學籍,往屆學生則會被撤銷學位、吊銷畢業證書。
  • 博士論文抄襲豆瓣網友,高校教師被撤銷博士學位|學霸晚報
    學霸晚報 準時更新 第一時間 追蹤學術熱點 撤稿觀察 博士論文抄襲豆瓣網友,高校教師被撤銷博士學位…… 今年 8 月,杭州師範大學在職教師郭彥努被指涉論文抄襲一事引發關注
  • 「抄襲論文」洪真英,最終決定取消碩士博士學位
    「抄襲論文」洪真英,最終決定取消碩士博士學位 最終決定,Trot歌手洪真英取消碩士博士學位。 朝鮮大學方面召開研究生院委員會,對洪真英剽竊碩士學位論文做出最終判斷。
  • 16篇SCI論文就被建議授予博士學位,西安交大碩士孫光宇是第一人嗎?
    作者 | 陳彩嫻、青暮編輯 | 青暮近日,西安交通大學電氣學院應屆碩士生孫光宇因「三年發16篇SCI」、「被建議破格授予博士學位」的新聞火遍全網,引起熱議。在知乎熱榜上,孫光宇「被建議授予博士學位」的消息緊跟在「崑山世碩將員工證件隨地亂扔」之後。
  • 洪真英「碩、博士學位」確定撤銷!母校證實:論文判定是抄襲
    然而日前卻遭踢爆碩士論文疑似抄襲,重合率高達74%,對此,她的母校朝鮮大學在23日表示,確定撤銷洪真英的碩、博士學位。 ▲洪真英碩、博士學位確定取消。
  • 計算機學院博士生獲中國圖像圖形學學會(CSIG)優秀博士學位論文獎
    西工大新聞網12月9日電(張薇)近日,中國圖像圖形學學會(CSIG)公布了2019年CSIG優秀博士學位論文獎,西北工業大學計算機學院博士畢業生張磊(導師:張豔寧教授)的博士學位論文《基於結構化稀疏表示的高光譜圖像壓縮感知技術研究》獲此殊榮。
  • 洪真英「論文抄襲」成立,博士學位將被取消,歌手事業亦陷入困境
    歌手洪真英的碩士論文最終被判定為抄襲,因此學位也被取消了。雖然在初步判定為抄襲後,洪真英就承認了自己的「罪行」,並且向大眾請求原諒,但輿論卻十分冷淡。朝鮮大學方面23日表示「判定洪真英的碩士論文為抄襲,正在辦理取消學位的程序」。
  • 洪真英回應論文抄襲:會把碩士與博士學位返還
    網易娛樂11月7日報導 11月7日,洪真英回應論文造假風波,她對此事說抱歉,稱自己2009年用盡全力完成了論文,但是當時的認定標準與現在不同,自己說什麼也不管用了,都只會被看作是辯解。洪真英表示稱將會把碩士與博士學位返還。
  • 南開大學生學位論文寫作規範修訂版
    -南開大學研究生院 編2017年3月修訂前 言學位論文是研究生科研工作成果的集中體現,是研究生培養工作的重要環節,是申請博士,碩士學位的主要依據,也是社會重要的文獻資料.(thesis,dissertation)應以漢語撰寫(外國語言文學專業學位論文可以要求用其它文字撰寫).
  • 洪真英論文被母校判定為抄襲,碩士、博士學位不保
    明星的論文抄襲問題之前在國內引起過巨大風波,代表就是翟天臨,其實這個問題在韓國也非常嚴重,韓國已經爆出多起明星論文抄襲、學籍造假,而明星們抄襲、造假主要都集中碩士及博士學位方面,韓國網友爆料這些取得碩士及博士學位的明星基本都不會去學校。
  • 地大首場博士學位論文線上視頻答辯舉行
    「今天將是我一生難以忘懷的日子——我成為了中國地質大學(武漢)首位學位論文線上視頻答辯的博士研究生。」4月16日,時長2小時的答辯結束後,自動化學院控制科學與工程專業博士研究生蔡文靜如是感慨。
  • 福克斯新聞主播直言拜登妻子是文盲:博士論文裡到處是拼寫錯誤
    美國新任總統喬·拜登的妻子吉爾最近因博士學位捲入一場激烈的爭論之中。 《華爾街日報》約瑟夫·愛潑斯坦撰文建議她放棄「博士」稱謂,他認為第一夫人並沒有深厚的學術背景,這種尊稱只會讓人感到「欺詐和滑稽」。
  • 洪真英論文遭母校判定為抄襲,碩士博士學位恐被取消
    韓國人氣歌手洪真英早前捲入大學論文抄襲風波,網民揭發她碩士及博士學位的論文抄襲率高達74%,隨後又有自稱是她大學教授的人出面指控,稱其實抄襲率高達99%,更質疑她能夠順利畢業是因為父親在該校任職教授。洪真英最後透過IG向大眾道歉,雖然否認了抄襲一事,強調論文是自己抽時間與教授討論並努力撰寫的作品,但因為引起了大眾的爭議,所以決定退回兩個學位。事隔一個多月,涉事的光州朝鮮大學亦重新審議洪真英的論文,並得出暫時判定為抄襲的結果。
  • 掌握學位論文答辯報告技巧
    1.脫稿匯報 研究生論文答辯不等於宣讀論文,整個過程既不能表現在背誦內容的層面上,更不能表現在宣讀內容的層面上。 3.緊扣主題 同時進行答辯的研究生往往不止一人,答辯專家不可能對每一篇畢業論文內容有全面的了解。因此,在整個論文答辯過程中能否圍繞主題進行,能否扣題就顯得非常重要。如果能自始至終地以論文題目為中心展開論述就會使專家們思維明朗,對畢業論文給予肯定。
  • 【獎勵聚焦】2019年度中國力學學會優秀博士學位論文提名獎獲獎人...
    【獎勵聚焦】2019年度中國力學學會優秀博士學位論文提名獎獲獎人介紹:邵新星 2020-11-27 16:02 來源:澎湃新聞·澎湃號·政務
  • 洪真英爆論文99%抄襲,母校判定出爐,碩、博士學位恐遭取消
    ▲洪真英遭踢爆碩士論文抄襲。(圖/翻攝洪真英IG)朝鮮大學在審查洪真英的碩士論文後,暫時將其判定為抄襲,根據相關規定,洪真英方面若有異議,必須在18日下午5點前提出,研究真實性委員會透露,如果洪真英提出異議,委員會將統合所有的資料,在23日做出最終判決,到時候如果結論依然為抄襲,那麼她的碩士、博士學位將會遭到取消。目前,洪真英並未對此做出任何回應。
  • 【IT科普】沒有C語言之父,就沒有賈伯斯和Win10!
    他是C語言之父和UNIX作業系統的聯合發明人。四年前我們失去了兩位對業界有巨大影響的人。 ▲其實Lisp之父約翰·麥卡錫也是在2011年10月離世。
  • 十大程式語言的鼻祖,有的大學都沒讀完,有的已然離世!
    丹尼斯·裡奇,Dennis MacAlistair Ritchie,美國人,1941年出生,27歲獲得數學博士學位,在1969年至1973年間,為了移植與開發UNIX作業系統,丹尼斯·裡奇與肯·湯普遜,以B語言為基礎,在貝爾實驗室設計、開發出來c語言。
  • C語言之父和Linux之父誰更偉大?
    一、Dennis Ritchie C語言之父,UNIX之父。 1) Dennis Ritchie(1941年- 2011年10月12日) 1978年與布萊恩·科爾尼幹(Brian W. Kernighan)一起出版了名著《C程序設計語言(The C Programming Language)》。此書已翻譯成多種語言,被譽為c語言的聖經。 2011年10月12日,共事20年的同事Rob Pike從加州到新澤西去拜訪他,才發現他已經去世了。由於是獨居,無法知道準確的死亡時間。享年70歲。