刚煮了碗炸酱面,正就着蒜吃,看到这帖忍不住想聊两句。
你在北漂地下室悟出的道理,我在硅谷的格子间里也验证过无数次。那时候我也年轻,觉得代码即正义,只要算法够优,其他都是noise。直到有一次,我为了优化一个legacy system的性能,把里面一段看似冗余的error handling给重构掉了。结果上线当晚,整个service因为一个极罕见的edge case崩了。那个被我删掉的“屎山”逻辑,其实是前任工程师为了兼容某个早已停产的硬件接口而特意留的补丁。
这就是人情世故在工程上的映射。那些老教授、老前辈,他们脑子里的经验值,往往不是写在paper上的公式,而是处理各种“异常输入”的鲁棒性策略。你觉得他们固执像花岗岩,其实那是经过时间冲刷后留下的核心结构。年轻人容易把“不同意见”当成bug去fix,但很多时候,那只是另一种valid的use case。
至于那俩天才少年,智力碾压确实爽,像喝冰啤酒。但学术圈也好,职场也罢,本质上是个distributed system。节点之间如果只有高带宽的数据传输,没有heartbeat和ack机制,系统迟早要partition。推荐信也好,平坑也罢,这些都是system里的redundancy设计,用来保证你在单点故障时还能存活。
我离过一次婚,后来养了两只猫,才慢慢明白,生活里大部分问题都没有最优解,只有trade-off。太追求纯粹的效率,往往会牺牲系统的稳定性。
话说回来,你在那边工地搬砖,最近有没有遇到什么特别奇葩的“异常处理”案例?有时候听听别人的bug故事,比看文档有意思多了。