如果单论技能能力,有一个人,大概比Linus更强。
我在看他主页项目列表的时候,觉得头都炸了。
他开拓了著名的仿照器QEMU和音视频处理库FFmpeg,仅仅是这两项就超越绝大部分程序员了,他还写过C编译器,OpenGL实现,LTE软基站,JS引擎,让Linux在浏览器中跑起来,乃至还创造了打算圆周率的天下记录......

也便是说,这位老兄在操作系统、仿照器、多媒体、打算机图形学、编译器、编程措辞、通信、乃至数学等领域跳来跳去,一年开拓一个我一辈子都写不出的软件!
他写的程序还总是比别的程序小几个数量级,快几个数量级!
这也太变态了吧?!
不得不承认,这个天下上真的有天才的存在。
他便是法公法式员Fabrice Bellard。
我们来看看他的神奇之路。
压缩软件Fabrice Bellard出生于法国东南部的一个小城市格勒诺布尔,17岁上高中的时候创造自己的电脑硬盘又小又贵,他就想着如何节省硬盘空间,于是用汇编措辞开拓了一个压缩程序LZEXE。
LZEXE压缩效果极好,他的朋友也Copy过来利用,并且放到了BBS上,一下子火了,成了DOS时期最火的压缩工具之一。
1996年,24岁的他写了一个Java虚拟机,可以把Java代码编译成C代码实行。
圆周率算法
1997年,他对圆周率的打算产生了兴趣,通过改良Bailey–Borwein–Plouffe公式,提出了最快速的打算圆周率的算法,极大地降落了韶光繁芜度。
从此他在数学社区建立了自己的声誉,新算法也被命名为Bellard公式。
TinyGL(打算机图形学)
1998 年,Bellard 在开拓一个虚拟现实引擎项目的时候,须要用到OpenGL,这是一个用于渲染2D、3D矢量图形的跨措辞、跨平台的API,OpenGL的开源实现是Mesa,Bellard以为Mesa太慢了,于是自己写了一个,这便是TinyGL。
TinyGL实现了OpenGL的子集,比Mesa或者其他商用实现(如Solaris OpenWin OpenGL)快得多,占用的资源少得多,并且比任何一个都小几个数量级,Bellard 再次展示了他在编写高效 C 代码方面的超高技能。
FFmpeg(音频视频多媒体)2000年,他化名Gérard Lantau,开始了他最主要和最受广泛认可的项目之⼀:FFmpeg。
FFmpeg 是名副实在的数字视频和音频的“瑞士军刀”,在视频软件和商业网站中无处不在:VLC,YouTube, iTunes ,它的强大之处不用我先容了吧。
C措辞稠浊竞赛
在创建FFmpeg不久,2000 年和 2001 年,Bellard 向国际C措辞代码稠浊竞赛 (IOCCC) 提交了两个参赛作品,并且连续两次获奖。
要知道,IOCCC 是最具创造性的C措辞稠浊竞赛,是程序员充分展示自己智力的最佳舞台,能赢一次就非常厉害了,而Bellard轻轻松松就搞定了两次。
下面是Bellard在2000年的获奖作品,利用快速傅里叶变换在较短韶光内打算出已知的最大素数(2^6972593-1)
int m = 754974721, N, t[1 << 22], a, p, i, e = 1 << 22, j, s, b, c, U;f (d){ for (s = 1 << 23; s; s /= 2, d = d 1LL d % m) if (s < N) for (p = t; p < t + N; p += s) for (i = s, c = 1; i; i--) b = p + p[s], p[s] = (m + p - p[s]) 1LL c % m, p++ = b % m, c = c 1LL d % m; for (j = 0; i < N - 1;) { for (s = N / 2; !((j ^= s) & s); s /= 2); if (++i < j) a = t[i], t[i] = t[j], t[j] = a; }}main (){ t = 2; U = N = 1; while (e /= 2) { N = 2; U = U 1LL (m + 1) / 2 % m; f (362); for (p = t; p < t + N;) p++ = (p 1LL p % m) U % m; f (415027540); for (a = 0, p = t; p < t + N;) a += (6972593 & e ? 2 : 1) p, p++ = a % 10, a /= 10; } while (!--p); t[0]--; while (p >= t) printf ("%d", p--);}
从2001年的比赛中还产生了一个副产品:TinyCC,这是天下上最快、最小的C措辞编译器,比其他大多数C编译器都要小几个数量级。
为了证明TinyCC的威力,Bellard基于TinyCC开拓了一个只有138K的TCCBoot,可以在15秒以内编译完Linux内核并且启动,实在太吓人了。
QEMU(仿照器)
2005年,Bellard又发布了一个爆炸性项目QEMU,这是一个开源的仿照器,可以用软件的办法来仿照CPU,内存,I/O设备,给操作系统营造一个运行在硬件中的假象。
可以想象,开拓这样的软件不但须要对操作系统极其理解,还得节制极其广泛的硬件知识,细节非常多,其难度乃至比操作系统都高。
创造PI的天下记录
2009年,Bellard又去玩数学了,他宣告把圆周率小数点后2.7万亿位往后,仅仅利用了一台普通的PC,创造了天下记录。
此前的天下记录是由排名天下第47位的T2K Open超级打算机创造的,而Bellard这台桌面电脑不到2000欧元,配置仅为:2.93GHz Core i7 CPU,6GB内存,7.5TB硬盘。
一个人加一台电脑,竟然击败了超级打算机。
JSLinux(仿照器)
2011年,他的兴趣又转到了JavaScript身上,居然用JavaScript写了一个PC仿照器,让Linux,Windows可以在浏览器中运行起来。
这个仿照器仿真了一个32位的x86兼容处理器,一个8259可编程中断掌握器,一个8254可编程中断计时器,和一个16450 UART。
不仅支持命令行,还支持图形界面,看到 Windows 2000 竟然在浏览器中跑了起来,那种震荡的觉得,只能用卧槽来形容了!
LTE软基站(通信)
2012年,Bellard的兴趣再次转移,一个人花了10个月韶光,在一台PC上居然实现了一个运行效率极高LTE软基站。支持LTE TDD/FDD,NB-IoT、eMTC,最大可支持5载波2x2 MIMO或3载波4x4 MIMO。
这统统,只须要一个拥有i7 4核CPU的PC就够了。
QuickJS (JavaScript阐明器)
2019年,Bellard发布了一个嵌入式的JavaScript实行引擎QuickJS。
QuickJS支持ES2020,小巧并且易于嵌入,只有几个C文件,没有任何其他外部依赖。
它运行速率很快,在一个单核CPU上可以在95秒内完成69000个ECMAScript测试。
我只是挑了Bellard开拓的部分软件,在他的网站bellard.org还有很多,最让人震荡的是,这些软件覆盖了打算机科学的各个领域,千差万别。
Bellard给人的印象是,他可以轻易进入一个他以为有趣的领域,成为这个领域的专家,留下一个让其他人乐意花费数年韶光掩护的软件,自己则轻飘飘地离开,进入下一个领域。
有人问他为什么要研究这么多不同的东西时,他说:我讨厌一贯做同样的事情,以是一定要切换不同的项目来玩......
Just for fun,这是Linus的口号,看来各个大神的追求都是一样的啊。
Bellard对金钱或者名声不感兴趣(用化名做开源项目便是证明),他极少接管媒体的采访,互联网上他的资料非常少,远不如Linus那样声名远扬。
但是如果你如果你看过他那简陋的个人主页,bellard.org,看看那些展示了惊人的深度和广度的项目,绝对会被震荡。
Bellard一定是穿越回来的,或者一定是在上帝模式下编程。