相信很多人都看过大卫·芬奇导演的《社交网络》,在这部如「急风骤雨」般的电影中,我们似乎可以窥见一个道理——这个世界从来不缺天才,缺的是执行力与恒心,缺的是利用天分坚持理想和信念不断创新的人。今天「猿传奇」的主人公正是如此,他被誉为计算机科学界的“特斯拉”,因FFmpeg、QEMU等项目而闻名业内。同时,他也是最快圆周率算法贝拉公式、TCCBOOT和TCC等项目的作者,曾在国际C语言混乱代码大赛中两度获胜,无疑是一位了不起的天才程序员,他的名声远远低于他的贡献。
-----+-----
FabriceBellard(法布里斯·贝拉)年生于法国格勒诺布尔,却在法国南部的蒙彼利埃成长。许多计算机科学家在年轻时就在相关领域显现超凡的智力或兴趣,比如数学或技术。在这方面,FabriceBellard没有什么不同,不过他钟情的是电子设备。
巴黎求学
凭着对电子设备的兴趣,Bellard逐渐献身于计算机科学。在高中就读期间开发了著名的可执行压缩程序LZEXE,这是当年DOS上第一个广泛使用的文件压缩程序。大学就读于巴黎综合理工学院,后在巴黎高等电信学校攻读。
Bellard在程序设计方面的早期教育以及他在理工学院受到的教育对他认识计算机科学的整体面貌有很大的影响。他觉得,计算机科学最重要的两个方面是学习计算机如何工作,以及通过学习计算本身来开发语言,用各种不同的方法让计算机有效工作。首先,他基于原始程序设计经验进行开发,从一个非常靠近机器的语言开始,慢慢发展为高级的语言。他对计算原理的细心源于他受到的良好教育。他觉得有抱负的计算机科学家通过汇编语言和计算机硬件来深度理解计算机是如何工作是必不可少的。
数字天赋
Bellard的工作中有一项非常突出的方面是数学,尤其是数字信号处理。年,他建立了他第一个进*世界的数值算法——用C语言编写了Pollard的FFT快速乘法。年1月20日,25岁的Bellard提出了最快速的计算圆周率的算法,是贝利-波尔温-普劳夫公式的变体。在计算圆周率的过程中,FabriceBellard使用改良后的查德诺夫斯基方程算法来进行圆周率的计算,并使用贝利-波尔温-普劳夫公式来验证计算的结果。为了纪念他对圆周率算法所作出的杰出贡献,FabriceBellard所使用的改良型算法被命名为FabriceBellard算法,这种算法是当前所有圆周率算法中最快的一种,这个计算N位PI的公式比传统的BBQ算法要快47%。
年的最后一天,Bellard宣布来另一项重大突破:他用桌面电脑打破了由超级计算机保持的圆周率运算记录。这是一个壮举,他将PI计算到了小数点后2.7万亿位!更令人惊讶的是,他使用的不过是价格不到欧元的个人PC,仅用了天,就计算出了PI的小数点后第2.7万亿位,超过了由目前排名世界第47位的T2KOpen超级计算机于年8月17日创造的世界纪录。Bellard在圆周率方面的辉煌成就,使他创造多次圆周率计算的世界纪录(计算10的整次幂位),也曾因此而登上《科学美国人》法文版。
创建FFmpeg项目
年,他化名GérardLantau,创建了FFmpeg项目。FFmpeg单词中的FF指的是FastForward,FFmpeg这个年发起著名的开源多媒体播放器项目,是MPlayer的姊妹项目。这是一个如此重要的成就。这个多平台、多功能的多媒体编码解码器由FabricBellard发起并管理,现在是由MichaelNiedermayer在进行维护。
只要了解多媒体音视频处理的人,都会感叹这个项目的强大。我们熟悉的暴风影音、QQ影音、格式工厂,YouTube、VLC等都使用了FFmpeg的编解码函数库,FFmpeg易扩展、功能强、速度快、占资源少,支持的音视频格式极其广泛,基本上超越了其他所有同类软件,这是他在多媒体处理领域的巨大成就。
最重要的项目:QEMU
Bellard的另一个重要杰作是在Linux内核上写了一个CPU模拟器QEMU,这套开放源码的模拟器软件与Bochs、PearPC近似,但具有后两者所不具备的高速度及跨平台等特性。QEMU可以在不同的机器上运行独自开发的操作系统与软件,经由KQEMU这个开源的加速器,能模拟至接近真实电脑的速度。QEMU构思巧妙,效率极高,在借助核心态的KQEMU加速器之后,模拟代码的执行速度甚至能够接近真实机器。QEMU已成为目前使用最广泛的模拟器,KVM和GoogleAndroid的模拟器都是基于QEMU的。
Bellard除了具备天才程序员的实力之外,同时也极具黑客气质,在他主页上罗列的众多令人震撼的成就的最新一个是利用软件在PC上模拟了LTE4G基站。天才的创新经常是离经叛道式的超越,FabricedBellard的一些项目让人感觉疯狂。比如他曾有一个项目是将带有VGA显卡的PC改装成DVB-T的信号发射器。这样一来,为了防止泄密,公司不仅要封声卡插口,还要焊上显卡插口。
年,他用JavaScript写了一个PC虚拟机Jslinux。这个虚拟机仿真了一个32位的x86兼容处理器,一个可编程中断控制器,一个可编程中断计时器,和一个UART。,在普通桌面电脑的Chrome浏览器中,Jslinux只用了仅仅5.秒就启动了Linux。
FabriceBellard经常被称为「Super-ProductiveProgrammer」,看遍他的履历后,不得不承认这个世界真的有天才。
往期回顾
1.大侠求伯君和他的英雄时代
2.JeffDean,从Google战神到人工智能的探路人
3.划时代的中文DOS,严援朝的芳华
4.JamesGosling:老骥伏枥,志在千里的Java之父
5.不服输的鲍岳桥,打不垮的神仙老豹
6.DonaldKnuth:要是看不懂我的书,就别当程序员了
7.王永民:一介书生,半个农民
8.DennisRitchie:改变世界的C语言之父,没有他就没有今天的苹果
9.宫敏:差点成为音乐家的他,却将Linux和自由软件带回中国
10.KenThompson:26岁发明Unix,70岁还在做编程的技术巨匠
11.被上帝关上窗的他,却为所有人开启“安全”之门
12.JohnMcCarthy:你现在熟知的AI理论,离不开他六十年前的奠基
13.雷*:过去写程序的日子是最阳光灿烂的
14.周鸿祎:做好企业家从做好程序员开始
15.为什么是BradCox和他的Objective-C?
16.她是拜伦的女儿,却成为了第一位计算机科学家
17.首次引用了“hello,world”的程序员是谁?
18.历史长河中的贝尔实验室
18.保罗艾伦:天才、富翁、微软创始人,他有令上帝嫉妒的一生
19.你在大学时学过Pascal吗?
20.没有她,Ctrl+C将会是一个毫无意义的组合键
21.LarryWall和他的程序员三大美德
22.地球流浪前,是她带领我们进去星辰大海
23.她发现了世界上第一个“Bug”
24.Python的“终生独裁者”
25.他是微软的关键先生,也是C#和.Net背后的男人
26.硅谷的梦中情人,穿StuartWeitzman的女魔头
27.微软王牌程序员奋斗日记
DavidCutler
28.这个出人意料的发明,是他送给所有人的礼物
29.StephenWolfram
地球上活着的最聪明的人之一
30.LarryPage
相信商业力量的理想家,用公司改变世界
31.泡面头络腮胡,现世最“野”的黑客
RichardStallman
32.我们在地板上睡过,我们从河水中趟过
JohnCarmack
33.互联网时代的爱迪生
BillJoy