2 points par GN⁺ 2025-12-25 | 1 commentaires | Partager sur WhatsApp
  • Le programmeur français Fabrice Bellard est l’un des développeurs les plus influents des vingt dernières années, ayant publié de nombreux projets innovants sous forme de logiciel libre
  • Dès l’enfance, il se passionne pour l’électronique et la programmation bas niveau, et connaît un premier succès à 15 ans avec LZEXE, un compresseur de fichiers exécutables
  • Il suit ensuite une formation d’ingénieur généraliste à l’École Polytechnique, où il acquiert une compréhension approfondie du calcul mathématique et de l’architecture des ordinateurs
  • Parmi ses œuvres majeures figurent FFmpeg, TinyCC et QEMU ; ce dernier s’est notamment imposé comme une technologie clé dans le domaine de la virtualisation et de l’émulation de processeurs
  • Il est considéré comme un développeur qui met en pratique la philosophie du logiciel libre, privilégiant l’intérêt technique et le partage plutôt que le profit financier

Jeunesse et premiers pas en programmation

  • Né en 1972 à Grenoble, en France, il grandit à Montpellier
    • Il s’intéresse très tôt aux appareils électroniques, et raconte que son premier mot aurait été « magnétophone »
  • À 9 ans, il commence à programmer sur une calculatrice programmable TI-59
    • Malgré un affichage limité et un jeu de caractères restreint, il y apprend des concepts de haut niveau comme les boucles et développe son intuition du code bas niveau
  • À 11 ans, il élargit sa pratique avec l’ordinateur familial TI-99/4A, en programmant en TI BASIC
    • Avec une structure n’autorisant qu’une instruction par ligne, la transition de la programmation sur calculatrice à la programmation sur ordinateur se fait naturellement

LZEXE et premiers accomplissements

  • À 15 ans, il achète un Amstrad PC1512 et entame une activité de développement à part entière
  • Pour résoudre les contraintes d’espace de stockage, il développe LZEXE, un compresseur de fichiers exécutables
    • Il réécrit l’algorithme LZSS en assembleur 8086 afin d’obtenir une compression et une décompression rapides
    • Diffusé via les BBS, le programme connaît un succès immédiat

Formation à l’École Polytechnique

  • Il intègre la prestigieuse École Polytechnique (X)
    • Il s’agit d’un cursus d’ingénieur en 5 ans, incluant 1 an de service militaire
    • Cette formation généraliste et technique met l’accent sur l’esprit critique et les compétences pluridisciplinaires
  • Bellard y consolide l’importance de l’architecture des ordinateurs et de la théorie du calcul
    • Il insiste sur le caractère essentiel du langage assembleur et de la compréhension du matériel

Recherche mathématique et développement d’algorithmes

  • En 1995, il entre dans la recherche sur les algorithmes numériques en implémentant en C la méthode de multiplication FFT de Pollard
    • En utilisant la FFT (transformée de Fourier rapide) pour les calculs algébriques, il parvient à calculer plusieurs millions de décimales de π
  • En 1997, il publie une formule permettant de calculer le n-ième chiffre binaire de π
    • Elle améliore la formule de Bailey–Borwein–Plouffe avec une complexité O(n²), 43 % plus rapide

VReng et TinyGL

  • En 1998, il développe VReng (Virtual Reality Engine) dans le cadre d’un projet étudiant
    • Un moteur d’exploration de mondes virtuels 3D reposant sur le multicast Internet
  • Il crée ensuite TinyGL pour corriger les inefficacités d’OpenGL
    • Ce renderer 3D léger de 40 KB est bien plus rapide que Mesa et indépendant de la plateforme

La naissance de FFmpeg

  • En 2000, il lance le projet FFmpeg sous le pseudonyme « Gerard Lantau »
    • Un outil prenant en charge l’encodage, le décodage, le streaming et la conversion audio et vidéo
    • Il se compose de libavcodec (bibliothèque de codecs) et libavformat (bibliothèque de traitement des conteneurs)
  • FFmpeg prend en charge la conversion entre de nombreux formats et est intégré à de très nombreux logiciels multimédias comme VLC

Victoire à l’IOCCC et TinyCC

  • En 2000, il remporte l’International Obfuscated C Code Contest (IOCCC)
    • Il y implémente un compilateur C de moins de 4 KB, qui évoluera ensuite en TinyCC
    • TinyCC est un compilateur ultra-compact compatible ANSI C99, capable de compiler le noyau Linux en moins de 15 secondes
  • Son deuxième programme lauréat en 2001 est un programme de calcul de nombres premiers de 475 octets
    • Basé sur un algorithme FFT, il calcule rapidement des nombres premiers de plusieurs millions de chiffres

QEMU et l’innovation dans la virtualisation

  • En 2005, il présente QEMU, qui émule des architectures de processeur en logiciel
    • Grâce à la traduction dynamique (dynamic translation), les blocs d’instructions sont regroupés, convertis et mis en cache, ce qui améliore les performances
    • Dans certaines situations, il atteint des vitesses proches du natif
  • QEMU sera ensuite adopté comme composant clé de grandes technologies de virtualisation comme VirtualBox, Xen et KVM

Philosophie du logiciel libre et approche du développement

  • Bellard publie tous ses principaux projets sous licence de logiciel libre
    • Il privilégie l’intérêt et l’utilité au gain financier, et accorde une grande importance au partage du code source
    • Il préfère se concentrer sur le développement pur plutôt que sur les tâches administratives et de communication
  • Interrogé sur les raisons qui le poussent à explorer des sujets variés, il répond que « répéter toujours la même chose devient ennuyeux »

Sa vision de l’informatique et ses conseils

  • Il distingue l’informatique entre exploration pratique (applications) et exploration théorique (théorie du calcul)
    • Il souligne l’importance de repousser les limites dans ces deux domaines
  • Aux jeunes développeurs, il recommande les bases théoriques et la compréhension du matériel
    • Pour l’apprentissage des algorithmes, il conseille The Art of Computer Programming de Donald Knuth
  • Ses recherches en cours à l’époque portent sur le traitement du signal numérique exploitant les processeurs multicœurs, en particulier des projets liés à la Software Defined Radio

1 commentaires

 
GN⁺ 2025-12-25
Commentaires Hacker News
  • C’est clairement un personnage du niveau GOAT, mais cet article semble avoir été écrit par quelqu’un qui ne connaît pas très bien le software engineering
    Par exemple, il décrit le cache de traduction de code de QEMU comme le « premier émulateur aux performances natives », alors qu’en réalité les technologies JIT existent depuis bien plus longtemps

    • En plus, les anciens processeurs Transmeta utilisaient aussi une approche similaire
      Ils adoptaient une approche multipasse, en faisant passer les instructions plusieurs fois pour les optimiser progressivement, et les performances augmentaient avec l’usage
      Bien sûr, cela n’enlève rien aux accomplissements de Bellard, mais les faits restent les faits
  • Sortir ffmpeg et QEMU en l’espace de 5 ans, tout en remportant deux fois l’IOCCC, c’est un accomplissement complètement dingue

  • Cette biographie contient plus d’informations nouvelles sur ce programmeur légendaire que tout autre article que j’ai vu jusqu’ici

  • Par la suite, il a aussi travaillé sur une station de base 5G reposant sur du matériel PC, ainsi que sur des projets liés aux LLM

    • Il a également développé de manière indépendante un compilateur ASN.1 et sa stack
  • Honnêtement, je me demande si Fabrice Bellard s’est mis à utiliser des outils de code basés sur les LLM
    Si oui, sa productivité serait encore plus élevée, ce qui ferait presque peur
    Il a déjà mené des recherches sur la compression des LLM et code principalement en C
    Pour quelqu’un qui utilise le C depuis des décennies, il est possible de mémoriser et réutiliser la plupart du code
    Donc les LLM ne lui seraient peut-être pas d’une grande aide
    Je pense plutôt qu’il y a de fortes chances qu’il entraîne son propre LLM avec son code — et que cela puisse évoluer vers un projet privé payant, comme le projet LTE

    • Je doute que les LLM actuels l’aident réellement dans le type de travail bas niveau et haute performance qu’il fait
    • En réalité, il a déjà créé un projet lié aux LLM appelé ts_server
    • Je pense qu’il n’utilise pas de LLM
      Son code est raffiné et méthodique, et n’a rien à voir avec ce que produit souvent l’IA
      C’est quelqu’un qui travaille en visualisant l’architecture complète du programme dans sa tête
      Certains en viennent donc à supposer qu’il est plusieurs personnes ou qu’il utilise des LLM, mais il rigolerait probablement en entendant ça
    • Au fond, c’est peut-être plutôt les LLM qui demanderaient conseil à Bellard
    • Comme certains développeurs exceptionnels (mitsuhiko, Evan You, etc.) utilisent les LLM comme outil d’assistance, Bellard pourrait peut-être s’en servir de cette façon
  • En publiant récemment MicroQuickJS, il est maintenant devenu quelqu’un de qui l’on attend forcément des « résultats légendaires »
    Les gens s’attendent toujours à quelque chose d’impressionnant de sa part

  • Je me demande si Bellard est devenu riche comme antirez

  • (C’est un article de 2009)

    • Le titre l’indique comme datant de 2009, mais l’URL affiche 2020, donc il se pourrait que le contenu ait été mis à jour