百度的 GCC 被三体人锁定在 3.4.5 版本是什么典故?

jackxiang 2015-12-28 14:13 | |
背景:那个gcc被锁定有点好玩,看来这里面问题还是有很多。
百度的 GCC 被三体人锁定在 3.4.5 版本是什么典故?
著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:布丁
链接:https://www.zhihu.com/question/21042367/answer/71690766
来源:知乎

佩服百度人民坚守传统的精神。百度的 gcc 还曾经有很长一段时间被锁定在了 gcc 2.96, 当年升级到 gcc 3 的时候那个喜大普奔。记得之前有人质疑我说百度在很长时间禁止大部分 C++ feature 的真实性, 你在这版本上玩 C++ 试试……我没写错,是 2.96,你在 GNU 的主页上查不到 gcc 2.96 这个版本的,这是一个 RedHat 的私家 branch... http://www.redhat.com/advice/speaks_gcc.html 这酸爽。我不了解现在百度的情况,以下讲述的是 6 年前还被锁定在 2.96 时代的事,当故事听就好。其实就是软件管理没做好,这在创业阶段不算个事,但是到发展壮大了还没跟上只能怪自己。一堆无人维护却躲不开的库,很多库是二进制发布把源码像什么似的供着直接造成编译器和glibc版本依赖锁定(当年有幸看过一眼源码,那代码质量简直了),有的甚至干脆找不到可靠的源码(没有可靠源码是指,你手上的源码是编译不出跟生产环境一样的binary的,生产环境上的有可能是某次紧急改bug上线的遗迹,连代码提交都没留下来)。基本没有 unittest 鬼知道刷个版本会发生什么事,还有好多上古传奇人物留下的谜之代码,不乏 /* 别删这行删了会挂虽然我也不知为啥 */ 的注释,又没人有这个闲功夫重写,都被当成 taboo 一样留在那了呗。对了,百度有很长时间把模块线上 core dump 数目作为软件质量评价指标,计入 KPI 的,而不是去改进  fault tolerence 机制让有缺陷的程序相对健康地跑着。这种激励机制,谁吃饱了撑着去升级版本做重构拼 core dump 嘛。

来自:https://www.zhihu.com/question/21042367

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/8404/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!

评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]