17611538698
webmaster@21cto.com

Fabrice Bellard:数字世界背后的架构师

技术人生 0 10 56分钟前
图片

21CTO 导读:一位居住在巴黎的法国程序员,默默无闻地工作了 30 年,他编写出的软件如今被整个互联网所使用,而你却可能从未听说过这个人的名字。

法布里斯·贝拉尔(Fabrice Bellard)是一位法国程序员,他的作品——从QEMU模拟器到FFmpeg播放器再到TinyCC编译器——构成了现代数字基础设施的无形支柱。

本篇文章将探索这位多次革新计算机技术的先驱者的学术历程、技术成就和文化意义——而这一切都是他独自一人、缺乏资金和宣传的情况下完成的。

图像

幕后天才:法布里斯·贝拉尔的崛起

在计算机发展史上,有一种特殊的创造者——他们并非企业家,也并非站在讲台上、背后有投资者簇拥的魅力四射的梦想家,而是默默无闻、孤身一人的工程师/程序员,他们的贡献只有在日后如同层层沉积物般被揭开时,才能真正展现出变革的深远意义。

在过去三十年的计算机发展史上,法布里斯·贝拉尔或许是这类人中最重要的代表。

即使在专业程序员中,他的名字也常常鲜为人知,尽管几乎每个程序员每天都会间接地使用他的至少一项作品。

FFmpeg ,一个用于处理音频和视频文件的库,被内置于 YouTube、VLC、Chrome、Firefox、Android、macOS 以及数千个其他系统中。QEMU ,一个模拟器和虚拟化系统,为全球云计算提供支持。TinyCC ,一个 C 编译器,是小型化技术的杰作。2011年, JSLinux将整个 Linux 操作系统移植到了一个浏览器中——无需插件,无需解释器,仅使用 JavaScript。

贝拉德尚未创立过家喻户晓的公司。他没有上市,没有筹集风险投资,也没有在TED大会上发表演讲。他默默耕耘——并因此改变了世界。本文旨在对这一现象进行恰当的评估,并将其置于其应有的历史背景之中。

从童年到编程:成长岁月与智力发展

法布里斯·贝拉尔在1972年出生于法国的格勒诺布尔。他曾就读于法国的综合工程学院—— Polytechnique 学校。他从未去过大公司。他只是不断地编写代码。

他成长于个人电脑正从发烧友的专属设备逐渐普及到家庭和学校的时代。在这个转型时期,程序员们被迫从有限的系统中榨取每一字节的性能,由此形成了一种独特的审美和技术理念——极致的效率、数学的纯粹性以及对浪费的摒弃。

贝拉尔很小的时候就开始在汤姆逊TO7计算机上学习编程,这种计算机在当时的法国学校里很常见。他对底层编程的接触——直接控制硬件、理解处理器指令和内存限制——让他形成了贯穿其后所有作品的独特方法:始终追求最简单、最快捷、最优雅的解决方案,即使这需要数周甚至数月的深入思考。

他从巴黎综合理工学院毕业之后进入法国国立高等电信学院(现巴黎电信学院)深造,在那里他掌握了数学、信号处理和计算机系统的深厚知识。但贝拉尔的学术生涯仅仅是背景:他真正的成就并非来自课堂,而是在他自己的房间里,在屏幕前,与代码对话中取得的。

FFmpeg:音频和视频处理领域的一场悄然革命

2000年,贝尔拉德启动了一个项目,这个项目后来发展成为有史以来最重要的开源软件包之一:FFmpeg。它的名字是由FF(代表快进)和MPEG(指一组用于压缩音频和视频的标准)组合而成。但FFmpeg很快就超越了这种有限的定义,发展成为一个用于编码、解码、转换和流式传输音视频数据的通用库。

贝尔拉德最初的目标很简单:开发一款能够在Linux操作系统上播放和转换各种格式视频的工具,当时商业多媒体软件厂商对Linux的支持还很有限。但他采取的方法——完全原创地为当时所有相关的视频格式编写解码器,不参考任何专有代码——为最终构建的架构奠定了基础,而这个架构后来被证明具有极高的可扩展性。

FFmpeg 现在支持超过400 种不同的音频和视频格式。它是大多数现代流媒体平台所依赖的框架。当你在 YouTube 上观看视频,当 Chrome 浏览器播放 MP4 文件,当你的安卓手机录制和压缩视频,当 VLC 播放器毫无问题地打开任何格式的文件时——这些幕后运行的代码都源自 Bellard 的工作。随着时间的推移,该项目在社区中不断发展壮大( Libav分支在 2011 年至 2018 年间引发了一场著名的社区分裂,之后 FFmpeg 重新占据主导地位),但其核心和精神仍然保留着 Bellard 的设计理念。

FFmpeg 的技术层面值得特别关注。Bellard 为那些规范部分封闭或文档不完善的格式实现了自己的解码器——这需要逆向工程,即分析二进制文件并在没有官方文档的情况下确定格式规则。这种能力——完全从系统的实际效果而非指令来理解系统——是 Bellard 的杰出特质之一,在他的所有项目中都有所体现。

QEMU 和虚拟化:机器中的机器

2003年,贝尔拉德发布了QEMU(快速模拟器),这个项目彻底改变了处理器虚拟化和仿真领域。QEMU能够模拟各种处理器架构——从x86和ARM到MIPS、SPARC、PowerPC等等——并在这些架构上运行操作系统,就像它们运行在真实的硬件上一样。

QEMU 的关键创新在于动态二进制翻译器,它可以实时将客户系统的处理指令翻译成宿主机处理器的指令。这项技术——被称为即时编译(JIT)——与传统的命令解释相比,能够显著降低仿真速度的损失。贝拉德对这项技术的实现,在当时极其高效,并为该领域树立了新的标杆。

QEMU很快成为KVM(基于内核的虚拟机)的基础,KVM是Linux内核的一部分,如今为亚马逊网络服务(AWS)、谷歌云和微软Azure等公司云基础设施中的大多数虚拟机提供支持。当您在任何云服务提供商处预订虚拟服务器时,很可能后台运行的是KVM和QEMU(贝尔拉德的成果)的组合。从这个意义上讲,QEMU是支撑整个云计算经济(估计每年价值数千亿欧元)的支柱之一。

Bellard 在开发 QEMU 时遵循了纯粹设计原则:模拟器的每个组件都采用模块化设计,便于添加新的架构和设备。这种模块化是项目长期成功及其融入 Linux 核心生态系统的关键。

TinyCC、BPG 和其他项目:一部关于单一思维的百科全书

Bellard 的工作并不局限于 FFmpeg 和 QEMU。他的技术项目履历令人瞩目,涵盖范围之广、深度之深令人叹服——更令人惊叹的是,其中大部分项目都是他独立开发,或仅需极少的外部投入。

TinyCC(Tiny C Compiler,简称 TCC)是 Bellard 设计的一款 C 语言编译器,其目的并非取代现有编译器,而是为了展示如何利用最少的资源实现最佳效果。TCC 的自身编译时间不到五秒,仅需约 100 KB 的内存,代码量不足 3 万行。相比之下,标准的 GNU 编译器 GCC 的代码量高达数百万行。TCC 被设计为 C 语言的脚本解释器——这意味着 C 程序可以直接执行,无需像 Python 或 Bash 脚本那样进行额外的编译步骤。

BPG(Better Portable Graphics,更佳便携式图形)是 Bellard 公司于2014 年发布的一种图像压缩格式,旨在替代 JPEG。BPG 基于HEVC(高效视频编码)标准的算法,在相同文件大小下,其图像质量显著优于 JPEG。尽管 BPG 在技术上具有优势,但并未得到广泛应用——部分原因是 HEVC 受到专利限制,部分原因是现有基础设施的惯性。

JSLinux在 2011 年引起了全球关注:Bellard 用纯 JavaScript 编写了一个 x86 处理器和 PC 硬件的模拟器,并在其上直接运行了 Linux 操作系统。这在当时引起了技术轰动,既展现了现代 JavaScript 引擎的强大功能,也体现了 Bellard 对底层编程的精湛技艺。JSLinux 后来扩展到支持 RISC-V 架构的模拟。

其他项目包括FFVP8(VP8 视频编解码器的实现)、Linuxboot(BIOS 替代方案)、专有网络协议实现以及许多小型工具,所有这些项目都已作为开源软件发布。贝尔拉德从未将他的代码隐藏在付费墙后——他的所有作品都可供任何人免费使用。

贝拉尔与π:作为数学艺术的计算

贝拉德与数学的关系并非仅仅是工具性的——他并非那种仅仅将数学作为解决工程问题的工具的程序员。他对数学作为一种美学学科抱有更深层次的敬意,欣赏公式和算法本身的美。

这种关系最著名的体现是贝拉尔公式,该公式于1997 年被发现,用于计算 π 的值。该公式是BBP 公式(贝利-博尔温-普卢夫公式)的变体,BBP 公式由三位数学家于 1995 年发表。贝拉尔公式比原始的 BBP 公式计算效率更高,它允许直接计算 π 的十六进制(或二进制)数字,而无需先计算所有前面的数字——这是计算这个无理数历史上的一项突破。

该公式可写为:

π = (1/2⁶) Σ [(-1)ⁿ / 21⁰ⁿ (–2⁵/(4n+1) – 1/(4n+3) + 2⁸/(10n+1) – 2⁶/(10n+3) – 2²/(10n+5) – 2²/(10n+7) + 1/(10n+9))]

在随后的几年里,贝尔拉德的公式被用于一些打破纪录的π小数计算。2009年,贝尔拉德本人创造了一项世界纪录:他仅用116天就在一台普通的个人电脑上计算出了π的2,699,999,990,000位小数(近2.7万亿位),打破了之前由超级计算机创造的纪录。这项计算需要1.1TB的磁盘空间来存储中间数据,并且使用了贝尔拉德自己基于快速傅里叶变换(FFT)大整数乘法的算法。

这项壮举不仅仅是一项技术演示,更是一项宣言:只要算法和软件设计得当,普通设备也能超越价值数百万美元的专用系统。贝拉尔计算π的方法正是他整个学术精神的典范。

极简主义哲学:效率美学与反浪费

贝尔拉德的所有作品中都有一条共同的主线,可以将其描述为一种极简主义哲学——不是我们从设计运动中了解到的审美极简主义,而是一种更深层次的、理性的极简主义:认为任何不必要的复杂性都是一种道德错误。

这种理念在每个项目中都显而易见。TinyCC 是一款编译器,它只做它需要做的一切,不多也不少——但速度极快,内存占用却微乎其微。QEMU 是一款模拟器,它的设计目标是便携性和模块化,而非立即被市场接受。FFmpeg 是一个将编码逻辑与应用程序逻辑分离的库,从而实现了无限的可扩展性。贝拉德的 π 公式比之前的公式更高效,并非因为它更复杂,而是因为它在合适的层面上更简洁。

贝拉德很少接受采访——因为他不爱公开演讲——但他在采访中反复强调,在编程方面,他追求的不仅仅是解决方案,而是正确的解决方案。他编写的每一个算法不仅要功能完善,还要优雅:易于理解、简洁明了、可测试。这种审美使他与计算机历史上的伟大人物,如唐纳德·克努特、肯·汤普森和丹尼斯·里奇等人有着直接的联系——这些程序员都明白,编程是一种写作,一个好的程序应该像一篇好的文章或一个好的数学证明一样受到重视。

贝拉德是开源软件的积极倡导者,但这并非出于意识形态原因。他免费发布代码,是因为他相信知识不应被封闭,每一位程序员都站在前人的肩膀上,而所有分享过这些知识的人都有义务将其回馈给社区。这种观点体现在他作品的许可条款中——大多采用LGPL或MIT许可——这些条款允许即使在商业项目中也能免费使用。

社群与共鸣:世界如何接受贝拉尔的作品

贝尔拉德的作品在科技界的反响一直很特别:并非轰动一时,也并非立竿见影,而是循序渐进、影响深远。FFmpeg 并非一夜之间普及——只有当视频流媒体平台、移动操作系统和浏览器的开发者们意识到它是当时最佳的解决方案时,大规模应用才开始兴起。

在Hacker News和Reddit等论坛(尤其是r/programming和r/linux社区)上,贝尔拉德享有近乎神秘的崇敬。任何关于他项目的帖子通常都会引发长时间的讨论,经验丰富的程序员们纷纷表达了对代码质量、理解深度以及他个人成就的惊叹。在这些讨论中, “巫师”一词频繁出现——并非泛指,而是用来形容那些知识远超常人所能企及的程序员。

2009年,贝尔拉德宣布他计算出小数π的纪录时,包括《新科学家》杂志和众多技术门户网站在内的多家专业和大众媒体都报道了这一消息。读者的评论呈现出典型的反应:起初难以置信(这怎么可能用普通电脑做到?),随后详细分析了贝尔拉德的计算过程,最终普遍表示赞赏。

无形建筑的基础:文化与技术的影响

用实例来衡量贝尔拉德对技术的影响比用抽象的估算更容易。试图估算全世界每天通过 FFmpeg 处理多少视频内容,这需要统计学的专业知识,而非论文——据估计,每年的视频处理量高达数千亿小时。QEMU 为大多数现代数字服务所依赖的云基础设施提供支持。TinyCC 是一款程序员会将其集成到对空间和速度要求极高的系统中的工具——从嵌入式设备到翻译管道。

但其影响不仅限于技术层面。贝拉德的工作塑造了一代开发者对编程的思考方式。一个人,在没有机构资源的情况下,创造出的工具最终成为互联网核心基础设施的一部分,这一事实引发了关于开源开发价值、深度知识优于浅层知识、长期专注的工作比快速、激进的市场导向型方法更为重要的讨论。

在学术界,贝拉尔的π公式已成为数学常数计算文献中的标准参考公式。计算机算法讲师经常引用它,以此为例说明数学创新和编程技能如何结合产生新的见解。在编译器教材中,TinyCC 被提及,作为如何优雅而紧凑地实现复杂系统的演示。

贝拉德的影响也延伸到了演示场景(Demoscene)亚文化——这是一个程序员社群,他们竞相用最少的内存创造出视觉和听觉效果震撼的程序。在这个社群中,贝拉德被认为是代码高尔夫美学的杰出代表之一:编写既简洁又强大的代码。尽管他本人并未直接参与演示场景社群,但他的作品却影响了该社群所孕育的技术文化。

法布里斯在 2012 年联合创立了一家名为 Amarisoft 的电信公司,目前担任该公司的首席技术官。Amarisoft 研发的是用于 4G 和 5G 网络的基站软件,这些软件被全球各地的运营商和实验室所使用。他已经经营这家公司超过十年,同时仍继续在自己的个人网站 bellard.org 上开发其他项目。

有趣的是,贝尔拉德本人对公众而言仍然相对低调。他没有推特或X账号,不在领英上发帖,也没有 Instagram 账号,也不定期更新博客。他的网站(bellard.org)刻意保持技术极简主义:仅列出项目、源代码和文档。没有个人信息披露,没有行业评论,也没有自我宣传。这种低调是他身份的一部分——贝尔拉德通过代码而非文字进行交流。

图片

这位沉默的法国工程师从未去过硅谷,他编写了那些默默运行着互联网的代码。

他仍在持续交付中。

天才的孤独与匿名

当我们想到法布里斯·贝拉尔时,一个悖论始终萦绕在我们的心头:这位现代数字基础设施最重要的架构师之一,同时也是鲜为人知的建设者之一。他参与塑造的世界,既不认识他,也不了解他的声音,更不了解他对未来的构想。它只知道代码——而这些代码运转良好。

这种匿名性并非缺陷,而是一种强大优势。在个人品牌已成为科技行业立足主要手段的时代,程序员的价值往往取决于他们在会议和媒体上的曝光度,而贝尔拉德的案例恰恰证明了相反的观点:仅仅依靠工作,就能深刻而持久地改变世界。无需浮华,无需口号,无需投资者。

20世纪最伟大的计算机科学家之一唐纳德·克努特曾写道:“编程是一门艺术,它既需要创造力,也需要严谨的纪律;最优秀的程序员明白,每一行代码都代表着对所有未来会阅读或执行它的人的责任。”贝拉德的作品正是这种理念的体现。他写的每一行代码都经过深思熟虑,每一个算法都经过测试,每一个项目都有详细的文档记录,并且完全免费。

或许,这种沉默——让代码代替语言——是对程序员使命最深切的尊重。在这个越来越热衷于谈论工作而非实际行动的世界里,法布里斯·贝拉尔用他鲜活的生命提醒我们,创造性思维的根本目的在于创造——并将创造物发布给世界,无需任何赞誉的合约。

作者:场长

评论

我要赞赏作者

请扫描二维码,使用微信支付哦。

分享到微信