相信很多人都看過大衛·芬奇導演的《社交網絡》,在這部如「急風驟雨」般的電影中,我們似乎可以窺見一個道理——這個世界從來不缺天才,缺的是執行力與恆心,缺的是利用天分堅持理想和信念不斷創新的人。今天「猿傳奇」的主人公正是如此,他被譽為計算機科學界的「特斯拉」,因FFmpeg、QEMU等項目而聞名業內。同時,他也是最快圓周率算法貝拉公式、TCCBOOT和TCC等項目的作者,曾在國際C語言混亂代碼大賽中兩度獲勝,無疑是一位了不起的天才程式設計師,他的名聲遠遠低於他的貢獻。
-----+-----
Fabrice Bellard (法布裡斯·貝拉) 1972年生於法國格勒諾布爾,卻在法國南部的蒙彼利埃成長。許多計算機科學家在年輕時就在相關領域顯現超凡的智力或興趣,比如數學或技術。在這方面,Fabrice Bellard 沒有什麼不同,不過他鍾情的是電子設備。
>>>>
巴黎求學
憑著對電子設備的興趣,Bellard逐漸獻身於計算機科學。在高中就讀期間開發了著名的可執行壓縮程序LZEXE,這是當年DOS上第一個廣泛使用的文件壓縮程序。大學就讀於巴黎綜合理工學院,後在巴黎高等電信學校攻讀。
Bellard 在程序設計方面的早期教育以及他在理工學院受到的教育對他認識計算機科學的整體面貌有很大的影響。他覺得,計算機科學最重要的兩個方面是學習計算機如何工作,以及通過學習計算本身來開發語言,用各種不同的方法讓計算機有效工作。首先,他基於原始程序設計經驗進行開發,從一個非常靠近機器的語言開始,慢慢發展為高級的語言。他對計算原理的細心源於他受到的良好教育。他覺得有抱負的計算機科學家通過彙編語言和計算機硬體來深度理解計算機是如何工作是必不可少的。
>>>>
數字天賦
Bellard 的工作中有一項非常突出的方面是數學,尤其是數位訊號處理。1995 年,他建立了他第一個進軍世界的數值算法——用 C 語言編寫了 Pollard 的 FFT 快速乘法。1997 年 1 月 20 日,25歲的 Bellard 提出了最快速的計算圓周率的算法,是貝利-波爾溫-普勞夫公式的變體。在計算圓周率的過程中,Fabrice Bellard使用改良後的查德諾夫斯基方程算法來進行圓周率的計算,並使用貝利-波爾溫-普勞夫公式來驗證計算的結果。為了紀念他對圓周率算法所作出的傑出貢獻,Fabrice Bellard所使用的改良型算法被命名為Fabrice Bellard算法,這種算法是當前所有圓周率算法中最快的一種,這個計算N位PI的公式比傳統的BBQ算法要快47%。
2009年的最後一天,Bellard 宣布來另一項重大突破:他用桌面電腦打破了由超級計算機保持的圓周率運算記錄。這是一個壯舉, 他將PI計算到了小數點後2.7萬億位!更令人驚訝的是, 他使用的不過是價格不到2000歐元的個人PC,僅用了116天,就計算出了PI的小數點後第 2.7萬億位,超過了由目前排名世界第47位的T2K Open超級計算機於2009年8月17日創造的世界紀錄。Bellard 在圓周率方面的輝煌成就,使他創造多次圓周率計算的世界紀錄(計算10的整次冪位),也曾因此而登上《科學美國人》法文版。
>>>>
創建 FFmpeg 項目
2000年,他化名Gérard Lantau,創建了FFmpeg項目。FFmpeg單詞中的FF指的是Fast Forward,FFmpeg這個2000年發起著名的開源多媒體播放器項目,是MPlayer的姊妹項目。這是一個如此重要的成就。這個多平臺、多功能的多媒體編碼解碼器由FabricBellard發起並管理,現在是由Michael Niedermayer在進行維護。
只要了解多媒體音視頻處理的人,都會感嘆這個項目的強大。我們熟悉的暴風影音、QQ影音、格式工廠,YouTube、VLC等都使用了FFmpeg的編解碼函數庫,FFmpeg易擴展、功能強、速度快、佔資源少,支持的音視頻格式極其廣泛,基本上超越了其他所有同類軟體,這是他在多媒體處理領域的巨大成就。
>>>>
最重要的項目:QEMU
Bellard的另一個重要傑作是在Linux內核上寫了一個CPU模擬器QEMU,這套開放源碼的模擬器軟體與Bochs、PearPC近似,但具有後兩者所不具備的高速度及跨平臺等特性。QEMU可以在不同的機器上運行獨自開發的作業系統與軟體,經由KQEMU這個開源的加速器,能模擬至接近真實電腦的速度。QEMU構思巧妙,效率極高,在藉助核心態的KQEMU加速器之後,模擬代碼的執行速度甚至能夠接近真實機器。QEMU已成為目前使用最廣泛的模擬器,KVM和Google Android的模擬器都是基於QEMU的。
Bellard除了具備天才程式設計師的實力之外,同時也極具黑客氣質,在他主頁上羅列的眾多令人震撼的成就的最新一個是利用軟體在PC上模擬了LTE 4G基站。天才的創新經常是離經叛道式的超越,Fabriced Bellard的一些項目讓人感覺瘋狂。比如他曾有一個項目是將帶有VGA顯卡的PC改裝成DVB-T的信號發射器。這樣一來,為了防止洩密,公司不僅要封音效卡插口,還要焊上顯卡插口。
2011年,他用JavaScript寫了一個PC虛擬機Jslinux。這個虛擬機仿真了一個32位的x86兼容處理器,一個8259可編程中斷控制器,一個8254可編程中斷計時器,和一個16450 UART。,在普通桌面電腦的Chrome瀏覽器中,Jslinux只用了僅僅5.075秒就啟動了Linux。
Fabrice Bellard經常被稱為「Super-Productive Programmer」,看遍他的履歷後,不得不承認這個世界真的有天才。
往期回顧
1.【猿傳奇】大俠求伯君和他的英雄時代
2.【猿傳奇】Jeff Dean,從 Google 戰神到人工智慧的探路人
3.【猿傳奇】劃時代的中文 DOS ,嚴援朝的芳華
4.【猿傳奇】James Gosling:老驥伏櫪,志在千裡的 Java 之父
5.【猿傳奇】不服輸的鮑嶽橋,打不垮的神仙老豹
6.【猿傳奇】Donald Knuth:要是看不懂我的書,就別當程式設計師了
7.【猿傳奇】王永民:一介書生,半個農民
8.【猿傳奇】Dennis Ritchie:改變世界的 C 語言之父,沒有他就沒有今天的蘋果
9.【猿傳奇】宮敏:差點成為音樂家的他,卻將 Linux 和自由軟體帶回中國
10.【猿傳奇】Ken Thompson:26 歲發明 Unix,70 歲還在做編程的技術巨匠
11.【猿傳奇】被上帝關上窗的他,卻為所有人開啟「安全」之門
12.【猿傳奇】John McCarthy:你現在熟知的 AI 理論,離不開他六十年前的奠基
13.【猿傳奇】雷軍:過去寫程序的日子是最陽光燦爛的
14.【猿傳奇】周鴻禕:做好企業家從做好程式設計師開始
15.【猿傳奇】為什麼是Brad Cox和他的Objective-C ?
16.【猿傳奇】她是拜倫的女兒,卻成為了第一位計算機科學家
17.【猿傳奇】首次引用了「hello,world」的程式設計師是誰?
18.【猿傳奇】歷史長河中的貝爾實驗室
18.【猿傳奇】保羅艾倫:天才、富翁、微軟創始人,他有令上帝嫉妒的一生
19.【猿傳奇】你在大學時學過 Pascal 嗎?
20.【猿傳奇】沒有她,Ctrl+C將會是一個毫無意義的組合鍵
21.【猿傳奇】Larry Wall 和他的程式設計師三大美德
22.【猿傳奇】地球流浪前,是她帶領我們進去星辰大海
23.【猿傳奇】她發現了世界上第一個「Bug」
24.【猿傳奇】Python的「終生獨裁者」
25.【猿傳奇】他是微軟的關鍵先生,也是C# 和 .Net 背後的男人
26. 【猿傳奇】矽谷的夢中情人,穿 Stuart Weitzman 的女魔頭
27. 【猿傳奇】微軟王牌程式設計師奮鬥日記 | David Cutler
28. 【猿傳奇】這個出人意料的發明,是他送給所有人的禮物
29. 【猿傳奇】Stephen Wolfram | 地球上活著的最聰明的人之一
30. 【猿傳奇】Larry Page | 相信商業力量的理想家,用公司改變世界
31.【猿傳奇】泡麵頭絡腮鬍,現世最「野」的黑客 | Richard Stallman
32.【猿傳奇】我們在地板上睡過,我們從河水中趟過| John Carmack
33. 【猿傳奇】網際網路時代的愛迪生 | Bill Joy