- 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
Noch keine Kommentare.