2 pontos por GN⁺ 2025-12-25 | 1 comentários | Compartilhar no WhatsApp
  • O programador francês Fabrice Bellard é um dos desenvolvedores mais influentes dos últimos 20 anos, tendo lançado inúmeros projetos inovadores como software livre
  • Desde a infância, dedicou-se a dispositivos eletrônicos e programação de baixo nível e, aos 15 anos, alcançou seu primeiro sucesso ao desenvolver o compactador de executáveis LZEXE
  • Depois, recebeu uma ampla formação em engenharia na École Polytechnique, onde construiu uma compreensão profunda de cálculo matemático e arquitetura de computadores
  • Entre suas obras mais conhecidas estão FFmpeg, TinyCC e QEMU; em especial, o QEMU se tornou uma tecnologia central nas áreas de virtualização e emulação de processadores
  • Ele é visto como um desenvolvedor que pratica a filosofia do software livre, valorizando mais o interesse técnico e o compartilhamento do que o ganho financeiro

Vida inicial e entrada na programação

  • Nasceu em 1972 em Grenoble, na França, e cresceu em Montpellier
    • Desde criança demonstrava interesse por dispositivos eletrônicos, e conta-se que sua primeira palavra foi “magnétophone” (gravador de fita)
  • Aos 9 anos, começou a programar com a calculadora programável TI-59
    • Apesar da limitação de tela e conjunto de caracteres, aprendeu conceitos de alto nível como loops e desenvolveu sensibilidade para código de baixo nível
  • Aos 11 anos, passou a usar o home computer TI-99/4A e expandiu sua prática com TI BASIC
    • Como a estrutura permitia inserir apenas um comando por linha, a transição da programação em calculadora para a programação em computador aconteceu de forma natural

LZEXE e conquistas iniciais

  • Aos 15 anos, comprou um Amstrad PC1512 e iniciou sua atividade de desenvolvimento de forma mais séria
  • Para resolver limitações de espaço de armazenamento, desenvolveu um compactador de executáveis chamado LZEXE
    • Reescreveu o algoritmo LZSS em assembly 8086 para implementar compressão e descompressão rápidas
    • Distribuído por BBS, o programa obteve sucesso imediato

Formação na École Polytechnique

  • Ingressou na prestigiosa École Polytechnique (X) da França
    • Um programa de engenharia de cinco anos, incluindo um ano de serviço militar
    • A formação valorizava pensamento crítico e capacidades multidisciplinares por meio de educação geral e técnica abrangente
  • Por meio desse curso, Bellard consolidou a importância da arquitetura de computadores e da teoria da computação
    • Enfatizando a linguagem assembly e a compreensão de hardware como elementos essenciais

Pesquisa matemática e desenvolvimento de algoritmos

  • Em 1995, entrou na pesquisa de algoritmos numéricos ao implementar em C o método de multiplicação FFT de Pollard
    • Usando FFT (Transformada Rápida de Fourier) em cálculos algébricos, realizou o cálculo de milhões de dígitos de π
  • Em 1997, publicou uma fórmula para calcular o n-ésimo dígito binário de π
    • Melhorando a complexidade para O(n²), 43% mais rápida que a fórmula Bailey–Borwein–Plouffe existente

VReng e TinyGL

  • Em 1998, desenvolveu o VReng (Virtual Reality Engine) como projeto estudantil
    • Um motor para explorar mundos virtuais 3D baseado em multicast na internet
  • Depois, criou o TinyGL para melhorar ineficiências do OpenGL
    • Um renderizador 3D leve de 40 KB, muito mais rápido que o Mesa e independente de plataforma

O nascimento do FFmpeg

  • Em 2000, iniciou o projeto FFmpeg sob o pseudônimo “Gerard Lantau”
    • Uma ferramenta com suporte a codificação, decodificação, streaming e conversão de áudio e vídeo
    • Composta por libavcodec (biblioteca de codecs) e libavformat (biblioteca de processamento de contêineres)
  • O FFmpeg oferece conversão entre diversos formatos e foi integrado a inúmeros softwares multimídia, como o VLC

Vitória no IOCCC e TinyCC

  • Em 2000, venceu o International Obfuscated C Code Contest (IOCCC)
    • Implementou um compilador C com menos de 4 KB, que depois evoluiu para o TinyCC
    • O TinyCC é um compilador ultracompacto compatível com ANSI C99, capaz de compilar o kernel Linux em menos de 15 segundos
  • Em 2001, sua segunda obra vencedora foi um programa de cálculo de números primos com 475 bytes
    • Usando um algoritmo baseado em FFT, calculava rapidamente números primos com milhões de dígitos

QEMU e a inovação em virtualização

  • Em 2005, apresentou o QEMU, que emula arquiteturas de processadores por software
    • Por meio de tradução dinâmica (dynamic translation), converte e armazena em cache blocos de instruções para melhorar o desempenho
    • Em certas situações, alcança velocidade quase nativa
  • O QEMU foi depois adotado como componente central de grandes tecnologias de virtualização, como VirtualBox, Xen e KVM

Filosofia do software livre e postura de desenvolvimento

  • Bellard publicou todos os seus principais projetos sob licenças de software livre
    • Priorizando interesse e utilidade acima do ganho financeiro, com forte ênfase no compartilhamento do código-fonte
    • Preferindo concentrar-se em desenvolvimento puro em vez de tarefas administrativas e de comunicação
  • Sobre o motivo de enfrentar temas diversos, comentou que “repetir sempre o mesmo trabalho fica entediante”

Perspectiva sobre ciência da computação e conselhos

  • Divide a ciência da computação entre investigação prática (aplicada) e investigação teórica (teoria da computação)
    • Enfatizando que é importante ampliar os limites em ambas as áreas
  • Recomenda aos desenvolvedores mais jovens teoria fundamental e compreensão de hardware
    • Para estudar algoritmos, recomenda Donald Knuth, 『The Art of Computer Programming』
  • A pesquisa em andamento na época envolvia processamento digital de sinais com uso de processadores multicore, especialmente projetos relacionados a Software Defined Radio

1 comentários

 
GN⁺ 2025-12-25
Comentários do Hacker News
  • Ele claramente é um nome de nível GOAT, mas este texto parece ter sido escrito por alguém que não entende muito de engenharia de software
    Por exemplo, descreve o cache de tradução de código do QEMU como o “primeiro emulador com desempenho nativo”, mas na verdade a tecnologia JIT existe há muito mais tempo

    • Além disso, os antigos processadores da Transmeta também usavam uma abordagem parecida
      Eles adotavam uma abordagem multipasse, passando pelas instruções várias vezes e otimizando cada vez mais, e o desempenho melhorava conforme o uso aumentava
      Claro, isso não diminui as conquistas de Bellard, mas fato é fato
  • Lançar ffmpeg e QEMU em um intervalo de 5 anos, além de ganhar a IOCCC duas vezes, é uma conquista simplesmente absurda

  • Esta biografia tem mais informações novas sobre esse programador lendário do que qualquer outro texto que já vi

  • Depois disso, ele também trabalhou em uma estação rádio-base 5G baseada em hardware de PC e em projetos relacionados a LLM

    • Ele também desenvolveu sozinho um compilador e stack ASN.1
  • Sinceramente, fico curioso se o Fabrice Bellard começou a usar ferramentas de programação com LLM
    Se sim, a produtividade dele ficaria ainda maior, o que seria até assustador
    Ele já fez pesquisa sobre compressão de LLM e programa principalmente em C
    Para alguém que usa C há décadas, dá para memorizar e reutilizar a maior parte do código
    Então talvez um LLM não ajude tanto assim
    Em vez disso, acho mais provável que ele treine seu próprio LLM com o próprio código — isso pode até evoluir para um projeto pago e fechado, como o projeto LTE

    • Tenho dúvidas se os LLMs atuais realmente ajudariam no tipo de trabalho de baixo nível e alto desempenho que ele faz
    • Na prática, ele já criou um projeto relacionado a LLM chamado ts_server
    • Acho que ele não usa LLM
      O código dele é sofisticado e sistemático, completamente diferente do código que a IA costuma gerar
      Ele é o tipo de pessoa que trabalha desenhando a estrutura inteira do programa na cabeça
      Por isso, alguns especulam que ele seria várias pessoas ou que usaria LLM, mas ele provavelmente riria ao ouvir isso
    • Talvez seja mais o caso de o LLM pedir ajuda ao Bellard
    • Assim como alguns desenvolvedores excepcionais (mitsuhiko, Evan You etc.) usam LLM como ferramenta auxiliar, Bellard talvez possa usar do mesmo jeito
  • Ao lançar recentemente o MicroQuickJS, ele acabou se tornando alguém de quem agora se espera sempre um “resultado lendário”
    As pessoas sempre esperam algo impressionante dele

  • Fico curioso se Bellard ficou rico como o antirez

  • (Texto de 2009)

    • No título aparece 2009, mas a URL é de 2020, então talvez o corpo do texto tenha sido atualizado