2 Punkte von GN⁺ 2025-12-25 | 1 Kommentare | Auf WhatsApp teilen
  • Der französische Programmierer Fabrice Bellard gilt als einer der einflussreichsten Entwickler der letzten 20 Jahre und hat zahlreiche innovative Projekte als Open-Source-Software veröffentlicht
  • Schon in jungen Jahren widmete er sich Elektronik und Low-Level-Programmierung und erzielte mit 15 seinen ersten Erfolg mit dem ausführbaren Dateikomprimierer LZEXE
  • Später erhielt er an der École Polytechnique eine breite Ingenieurausbildung und baute ein tiefes Verständnis für mathematische Berechnungen und Computerarchitektur auf
  • Zu seinen wichtigsten Werken zählen FFmpeg, TinyCC und QEMU; insbesondere QEMU etablierte sich als Schlüsseltechnologie im Bereich Virtualisierung und Prozessor-Emulation
  • Er gilt als Entwickler, der die Philosophie Freier Software lebt und technisches Interesse sowie das Teilen von Wissen höher bewertet als finanziellen Gewinn

Frühes Leben und Einstieg ins Programmieren

  • 1972 im französischen Grenoble geboren und in Montpellier aufgewachsen
    • Schon als Kind zeigte er Interesse an Elektronik; sein erstes Wort soll „magnétophone“ (Kassettenrekorder) gewesen sein
  • Mit 9 Jahren begann er mit dem Programmieren auf einem programmierbaren TI-59-Taschenrechner
    • Trotz begrenzter Anzeige und eingeschränktem Zeichensatz lernte er dabei High-Level-Konzepte wie Schleifen kennen und entwickelte ein Gespür für Low-Level-Code
  • Mit 11 nutzte er den Heimcomputer TI-99/4A und weitete seine Programmierung mit TI BASIC aus
    • Durch die Struktur, in der pro Zeile nur ein Befehl eingegeben werden konnte, gelang der natürliche Übergang von der Taschenrechner- zur Computerprogrammierung

LZEXE und frühe Erfolge

  • Mit 15 kaufte er einen Amstrad PC1512 und begann ernsthaft mit der Entwicklungsarbeit
  • Um Speicherplatzbeschränkungen zu lösen, entwickelte er den ausführbaren Dateikomprimierer LZEXE
    • Er schrieb den LZSS-Algorithmus in 8086-Assembler neu und erreichte so schnelle Kompression und Dekompression
    • Über BBS verbreitet, wurde das Programm sofort ein Erfolg

Ausbildung an der École Polytechnique

  • Aufnahme an die renommierte französische École Polytechnique (X)
    • Fünfjähriger Ingenieurstudiengang, einschließlich eines Jahres Militärdienst
    • Breite Allgemein- und Technikausbildung mit Schwerpunkt auf kritischem Denken und interdisziplinären Fähigkeiten
  • Bellard festigte durch diese Ausbildung die Bedeutung von Computerarchitektur und Berechnungstheorie
    • Er betonte, dass Assembler und Hardwareverständnis unverzichtbar seien

Mathematische Forschung und Algorithmusentwicklung

  • 1995 Einstieg in die Forschung an numerischen Algorithmen durch eine C-Implementierung von Pollards FFT-Multiplikationsmethode
    • Mithilfe von FFT (Fast Fourier Transform) für algebraische Berechnungen führte er Berechnungen von π auf mehrere Millionen Stellen durch
  • 1997 veröffentlichte er eine Formel zur Berechnung der n-ten binären Stelle von π
    • Verbesserung auf O(n²) Komplexität und damit 43 % schneller als die bestehende Bailey–Borwein–Plouffe-Formel

VReng und TinyGL

  • 1998 entwickelte er als Studentenprojekt VReng (Virtual Reality Engine)
    • Eine Engine zur Erkundung virtueller 3D-Welten auf Basis von Internet-Multicast
  • Anschließend entwickelte er TinyGL, um Ineffizienzen von OpenGL zu verbessern
    • Ein leichtgewichtiger 3D-Renderer mit 40 KB Größe, deutlich schneller als Mesa und plattformunabhängig

Die Entstehung von FFmpeg

  • 2000 startete er unter dem Pseudonym „Gerard Lantau“ das Projekt FFmpeg
    • Ein Werkzeug für Encoding, Decoding, Streaming und Konvertierung von Audio und Video
    • Bestehend aus libavcodec (Codec-Bibliothek) und libavformat (Bibliothek zur Containerverarbeitung)
  • FFmpeg unterstützt Konvertierungen zwischen zahlreichen Formaten und wurde in unzählige Multimedia-Programme wie VLC integriert

IOCCC-Auszeichnung und TinyCC

  • 2000 gewann er den International Obfuscated C Code Contest (IOCCC)
    • Er implementierte einen C-Compiler mit weniger als 4 KB, aus dem später TinyCC hervorging
    • TinyCC ist ein ultrakompakter, zu ANSI C99 kompatibler Compiler, der den Linux-Kernel in unter 15 Sekunden bauen kann
  • Das zweite Gewinnerprogramm von 2001 war ein Programm zur Primzahlberechnung mit einer Größe von 475 Byte
    • Mithilfe eines FFT-basierten Algorithmus berechnete es schnell Primzahlen mit mehreren Millionen Stellen

QEMU und Innovationen in der Virtualisierung

  • 2005 stellte er QEMU vor, das Prozessorarchitekturen in Software emuliert
    • Durch dynamische Übersetzung (dynamic translation) werden Befehlsblöcke gebündelt, übersetzt und zwischengespeichert, was die Performance verbessert
    • In bestimmten Situationen wird nahezu native Geschwindigkeit erreicht
  • QEMU wurde später als zentrale Komponente in wichtigen Virtualisierungstechnologien wie VirtualBox, Xen und KVM eingesetzt

Philosophie Freier Software und Entwicklungsstil

  • Bellard veröffentlichte alle seine wichtigen Projekte unter Lizenzen für Freie Software
    • Er priorisierte Interesse und Nutzen vor finanziellem Gewinn und legte großen Wert auf das Teilen von Quellcode
    • Statt administrativer und kommunikativer Aufgaben konzentrierte er sich auf reine Entwicklungsarbeit
  • Auf die Frage, warum er sich so vielen verschiedenen Themen widmet, sagte er, dass es langweilig werde, immer dieselbe Arbeit zu wiederholen

Sicht auf die Informatik und Ratschläge

  • Er unterschied in der Informatik zwischen praktischer Forschung (Anwendung) und theoretischer Forschung (Berechnungstheorie)
    • Er betonte, dass es wichtig sei, in beiden Bereichen die Grenzen zu erweitern
  • Jüngeren Entwicklern empfahl er grundlegende Theorie und Hardwareverständnis
    • Für das Lernen von Algorithmen empfahl er Donald Knuths „The Art of Computer Programming“
  • Zu seinen damaligen laufenden Forschungen gehörten digitale Signalverarbeitung mit Multicore-Prozessoren, insbesondere Projekte rund um Software Defined Radio

1 Kommentare

 
GN⁺ 2025-12-25
Hacker-News-Kommentare
  • Er ist definitiv eine Figur auf GOAT-Niveau, aber dieser Text wirkt, als wäre er von jemandem geschrieben worden, der von Software Engineering nicht viel versteht
    Zum Beispiel wird QEMUs Code-Translation-Caching als „der erste Emulator mit nativer Leistung“ beschrieben, dabei gibt es JIT-Technik schon sehr viel länger

    • Außerdem nutzten auch frühere Transmeta-Prozessoren einen ähnlichen Ansatz
      Sie verfolgten einen Multipass-Ansatz, bei dem Instruktionen mehrfach durchlaufen und dabei schrittweise stärker optimiert wurden, sodass die Geschwindigkeit mit zunehmender Nutzung anstieg
      Das schmälert Bellards Leistung natürlich nicht, aber Fakten sind Fakten
  • ffmpeg und QEMU innerhalb von fünf Jahren zu veröffentlichen und dazu auch noch zweimal die IOCCC zu gewinnen, ist wirklich eine absurde Leistung

  • Diese Biografie enthält über diesen legendären Programmierer mehr neue Informationen als jeder andere Text, den ich bisher gesehen habe

  • Auch danach arbeitete er noch an einer 5G-Basisstation auf PC-Hardware-Basis und an LLM-bezogenen Projekten

    • Außerdem entwickelte er eigenständig einen ASN.1-Compiler und -Stack
  • Ehrlich gesagt frage ich mich, ob Fabrice Bellard angefangen hat, LLM-Coding-Tools zu verwenden
    Falls ja, wäre er noch produktiver, und das wäre fast schon beängstigend
    Er hat bereits zu LLM-Kompression geforscht und programmiert hauptsächlich in C
    Wer seit Jahrzehnten C verwendet, kann den Großteil seines Codes im Kopf behalten und wiederverwenden
    Deshalb könnten LLMs für ihn gar nicht so hilfreich sein
    Eher würde ich vermuten, dass er ein eigenes LLM auf seinem Code trainiert — vielleicht entwickelt sich das zu einem kostenpflichtigen, nicht öffentlichen Projekt wie beim LTE-Projekt

    • Ich bezweifle, dass heutige LLMs ihm bei der Art von Low-Level-Hochleistungsarbeit, die er macht, wirklich helfen
    • Tatsächlich hat er mit ts_server bereits ein LLM-bezogenes Projekt gebaut
    • Ich glaube nicht, dass er LLMs benutzt
      Sein Code ist präzise und systematisch und völlig anders als der Code, den KI oft erzeugt
      Er ist jemand, der die gesamte Struktur eines Programms im Kopf entwirft und dann daran arbeitet
      Deshalb vermuten manche, er sei mehrere Personen oder benutze LLMs, aber vermutlich lacht er über solche Vorstellungen nur
    • Vielleicht ist es eher das LLM, das Bellard um Rat fragt
    • Einige herausragende Entwickler (mitsuhiko, Evan You usw.) nutzen LLMs als Hilfswerkzeug; vielleicht würde Bellard sie ähnlich einsetzen
  • Mit der jüngsten Veröffentlichung von MicroQuickJS ist er nun in die Lage geraten, immer wieder „legendäre Ergebnisse“ liefern zu müssen
    Die Leute erwarten von ihm ständig etwas Großartiges

  • Ich frage mich, ob Bellard so reich geworden ist wie antirez

  • (Ein Text aus dem Jahr 2009)

    • Im Titel steht zwar 2009, aber in der URL 2020, also wurde der eigentliche Text vielleicht aktualisiert