Protocol Buffers: Um Desastre Amador?

2025-09-05

Este artigo critica as falhas de design do Protocol Buffers (protobuf), argumentando que seu sistema de tipos é ruim, seu design é ad-hoc e que leva a uma série de problemas que permeiam o código. As muitas restrições do protobuf decorrem de suas soluções ruins para problemas já resolvidos, faltando composicionalidade. Exemplos incluem a incapacidade de repetir campos oneof e várias limitações de campos map. O artigo também critica as alegações do protobuf de compatibilidade para trás e para frente sem complicações e como ele polui as bases de código, tornando o código difícil de escrever e manter. O autor argumenta que o protobuf só é adequado para grandes empresas como o Google, não para a maioria das empresas, e aconselha os desenvolvedores a abandonar o uso do protobuf.

Leia mais
Desenvolvimento

De um Ano a Semanas: Otimizando o Compartilhamento de Grafos de Programas em um Compilador

2025-05-13

O autor passou mais de um ano resolvendo um problema de serialização de grafo de programa de um compilador. A solução inicial era confusa e difícil de manter. Colaborando com outros e reformulando o problema como a busca do Menor Ancestral Comum Único (LSCA) no grafo, ele aproveitou bibliotecas de algoritmos LCA existentes e técnicas inteligentes de programação preguiçosa. O resultado é uma solução elegante com tempo linear, um terço do tamanho da original, resolvendo efetivamente gargalos de desempenho.

Leia mais