Protocol Buffers:一场由业余爱好者编写的灾难?

2025-09-05

本文作者批判了Protocol Buffers(protobuf)的设计缺陷,认为其类型系统糟糕、设计随意,并导致一系列问题渗透到代码中。protobuf 的诸多限制源于其对已解决问题的拙劣方案,缺乏组合性,例如oneof字段不能重复,map字段的限制等等。文章还批评了protobuf在向后和向前兼容性上的谎言,以及它如何污染代码库,使得代码难以编写和维护。作者认为protobuf只适合谷歌这样的大公司,不适合大多数公司,建议开发者放弃使用protobuf。

阅读更多
开发

从一年到几周:优化编译器程序图共享的历程

2025-05-13

作者历时一年解决编译器程序图序列化问题,初始方案笨拙且难以维护。最终通过与他人合作,重新审视问题,将问题转化为寻找图中的最低单公共祖先(LSCA)问题。借助已有的LCA算法库和巧妙的lazy编程技巧,作者最终实现了线性时间复杂度的优雅解法,将代码长度缩减三分之一,并有效解决了性能瓶颈。

阅读更多