- フランス出身のプログラマー Fabrice Bellard は、この20年間で最も影響力のある開発者の一人であり、数多くの革新的なプロジェクトをオープンソースソフトウェアとして公開してきた
- 幼少期から 電子機器と低レベルプログラミング に没頭し、15歳で実行ファイル圧縮ツール LZEXE を開発して初期の成功を収めた
- その後 École Polytechnique で幅広い工学教育を受け、数学的計算とコンピュータアーキテクチャに対する深い理解を築いた
- 代表作には FFmpeg、TinyCC、QEMU などがあり、特に QEMU は 仮想化およびプロセッサエミュレーション 分野の中核技術として定着している
- 彼は 自由ソフトウェアの哲学 を実践し、金銭的利益よりも技術的な興味と共有を重視する開発者として評価されている
幼少期とプログラミング入門
- 1972年にフランスのグルノーブルで生まれ、モンペリエで育つ
- 幼いころから電子機器に関心を示し、最初に話した言葉は「magnétophone(テープレコーダー)」だったという
- 9歳のとき TI-59 プログラマブル電卓 でプログラミングを始める
- 限られた表示と文字セットにもかかわらず、ループなどの高級概念を学び、低レベルコードの感覚を発達させた
- 11歳で TI-99/4A ホームコンピュータ を使い、TI BASIC へとプログラミングを広げた
- 1行につき1命令しか入力できない構造で、電卓プログラミングからコンピュータプログラミングへ自然に移行した
LZEXE と初期の成果
- 15歳で Amstrad PC1512 を購入し、本格的な開発活動を開始
- 保存容量の制約を解決するため、LZEXE という実行ファイル圧縮ツールを開発
- LZSS アルゴリズムを 8086 アセンブリで書き直し、高速な圧縮・展開を実現
- BBS を通じて配布され、即座に成功を収めた
École Polytechnique での教育
- フランス最高峰の名門 École Polytechnique(X) に入学
- 1年の軍務を含む5年制の工学学位プログラム
- 幅広い教養と技術教育を通じて、批判的思考と学際的能力 を重視
- Bellard はこの課程を通じて コンピュータアーキテクチャと計算理論 の重要性を確立
- アセンブリ言語とハードウェア理解を不可欠なものとして強調
数学的研究とアルゴリズム開発
- 1995年、Pollard の FFT 乗算法 を C で実装し、数値アルゴリズム研究に入る
- FFT(高速フーリエ変換)を活用した代数計算により、π の数百万桁計算を実行
- 1997年、π の n 番目の二進桁を計算する公式 を発表
- 既存の Bailey–Borwein–Plouffe 公式より 43% 高速な O(n²) 計算量へと改善
VReng と TinyGL
- 1998年、学生プロジェクトとして VReng (Virtual Reality Engine) を開発
- インターネットマルチキャストベースの 3D 仮想世界探索エンジン
- その後、OpenGL の非効率性を改善するため TinyGL を制作
- 40KB サイズの軽量 3D レンダラーで、Mesa よりはるかに高速かつプラットフォーム非依存
FFmpeg の誕生
- 2000年、「Gerard Lantau」というペンネームで FFmpeg プロジェクトを開始
- オーディオ・ビデオの エンコード、デコード、ストリーミング、変換 を支援するツール
- libavcodec(コーデックライブラリ)と libavformat(コンテナ処理ライブラリ)で構成
- FFmpeg はさまざまなフォーマット間の変換をサポートし、VLC など数多くのマルチメディアソフトウェア に統合された
IOCCC 受賞と TinyCC
- 2000年、International Obfuscated C Code Contest (IOCCC) で優勝
- 4KB 未満の C コンパイラを実装し、その後 TinyCC へと発展
- TinyCC は ANSI C99 互換の超小型コンパイラで、Linux カーネルを 15 秒以内にビルド可能
- 2001年の2度目の優勝作は、475バイトの 素数計算プログラム
- FFT ベースのアルゴリズムにより、数百万桁の素数を高速に計算
QEMU と仮想化の革新
- 2005年、QEMU を発表し、プロセッサアーキテクチャをソフトウェアでエミュレーション
- 動的翻訳 (dynamic translation) により命令ブロックをまとめて変換・キャッシュし、性能を向上
- 特定の状況では ほぼネイティブレベルの速度 を達成
- QEMU はその後、VirtualBox、Xen、KVM など主要な仮想化技術の中核コンポーネントとして採用された
自由ソフトウェア哲学と開発姿勢
- Bellard はすべての主要プロジェクトを 自由ソフトウェアライセンス で公開
- 金銭的利益より 興味と有用性 を優先し、ソースコードの共有を重視
- 事務的・コミュニケーション業務より 純粋な開発活動 に集中
- さまざまなテーマに挑戦する理由について、「同じことを繰り返すと退屈だから」と述べている
コンピュータサイエンスに対する見方と助言
- コンピュータサイエンスを 実用的探究(応用) と 理論的探究(計算理論) に区分
- 若い開発者には 基礎理論とハードウェア理解 を勧める
- アルゴリズム学習には Donald Knuth の『The Art of Computer Programming』 を推薦
- 当時進行中の研究は マルチコアプロセッサを活用したデジタル信号処理、特に Software Defined Radio 関連プロジェクト
1件のコメント
Hacker Newsのコメント
彼は間違いなくGOAT級の人物だが、この記事はソフトウェアエンジニアリングをよく知らない人が書いたように見える
たとえばQEMUのコード変換キャッシュを「最初のネイティブ性能エミュレーター」と描写しているが、実際にはJIT技術はずっと以前から存在していた
命令を何度も通しながら徐々に最適化していくマルチパス手法を採っており、使われるほど高速化していた
もちろん、これはBellardの功績を貶めるものではないが、事実は事実だ
ffmpegとQEMUを5年の間に世に出し、そのうえIOCCCを2回も受賞したのは本当にとんでもない偉業だ
今回の伝記は、この伝説的なプログラマーについてこれまで見たどんな記事よりも新しい情報が多い
その後も彼はPCハードウェアベースの5G基地局やLLM関連プロジェクトを進めていた
正直、Fabrice BellardがLLMコーディングツールを使い始めたのか気になる
もしそうなら生産性はさらに高くなるだろうし、それはちょっと恐ろしいレベルだ
彼はすでにLLM圧縮研究を行っており、主にCでコーディングしている
何十年もCを使ってきた人なら、たいていのコードを記憶して再利用できる
だからLLMはあまり大きな助けにならないかもしれない
むしろ自分のコードで独自LLMを学習させる可能性のほうが高いと思う — LTEプロジェクトのように有料の非公開プロジェクトへ発展するかもしれない
彼のコードは精巧で体系的であり、よくあるAI生成コードとはまったく違う
彼はプログラム全体の構造を頭の中に描きながら作業するタイプの人だ
だから彼が複数人いるとかLLMを使っているとか推測する人もいるが、本人はそんな話を聞いて笑っていそうだ
最近MicroQuickJSを公開したことで、彼は今や**「伝説的な成果物」を出さなければならない人**になってしまった
人々は彼にいつもすごいものを期待している
Bellardはantirezのように金持ちになったのだろうかと気になる
(2009年の記事)