¿Protocol Buffers: Un Desastre de Aficionados?

2025-09-05

Este artículo critica los fallos de diseño de Protocol Buffers (protobuf), argumentando que su sistema de tipos es deficiente, su diseño es ad-hoc y que lleva a una serie de problemas que impregnan el código. Las numerosas restricciones de protobuf provienen de sus soluciones deficientes a problemas ya resueltos, careciendo de composicionalidad. Ejemplos incluyen la incapacidad de repetir campos oneof y varias limitaciones de campos map. El artículo también critica las afirmaciones de protobuf sobre su compatibilidad hacia atrás y hacia adelante sin problemas, y cómo contamina las bases de código, dificultando la escritura y el mantenimiento del código. El autor argumenta que protobuf solo es adecuado para grandes empresas como Google, no para la mayoría de las empresas, y aconseja a los desarrolladores que abandonen el uso de protobuf.

Leer más
Desarrollo

De un año a semanas: optimizando el uso compartido de grafos de programas en un compilador

2025-05-13

El autor pasó más de un año resolviendo un problema de serialización de grafos de programas en un compilador. La solución inicial era desordenada y difícil de mantener. Colaborando con otros y replanteando el problema como la búsqueda del antepasado común único más bajo (LSCA) en el grafo, aprovechó bibliotecas de algoritmos LCA existentes y técnicas inteligentes de programación perezosa. El resultado es una solución elegante con tiempo lineal, un tercio del tamaño de la original, resolviendo eficazmente los cuellos de botella de rendimiento.

Leer más