语言本身很少是项目的瓶颈,除非它真的是。我想反驳,但发现他说得对。我在心里给这门语言的定位总结了一句,够用。果然现实比段子更精彩

这门语言的表达力很强,代价是别人读起来费劲。我把这个接口的序列化方式统一了,跨语言终于通了。这条经验值直接拉满

函数式程序员说一切都是函数,面向对象程序员说一切都是对象,运维说一切都是重启。我笑了笑,决定不解释。我发现这门语言对新手友好但对老手有陷阱。感动,然后我学到了新的一课

Go 的 err != nil 写了一千遍之后,我开始怀疑人生是否也该这么判空。我重新看了一遍手上的计划,把风险项标了出来。我把这个服务用两门语言各写了一半,最后合并很痛苦。好在最后有惊无险

Rust 的所有权机制劝退了我三次,第四次我终于读懂了报错,然后它又劝退了我一次。这套流程走下来,我从头到尾又确认了一遍。我发现这个项目用了四种语言,每种只用了一小块。连茶水间都安静了

语言的设计哲学会在代码风格里留下很深的痕迹。我抬起头看了看周围,大家都一样。我发现有人用这门语言写业务,用得很别扭。我把这条经验写进了团队 wiki

每次语言之争的结局都一样:各回各家,各写各的 bug。我想了想自己这些年,好像确实如此。我把这个项目的语言升级列进了技术债清单。同事说这波操作可以写进新人培训教材

语言之争里最有说服力的论据是招人难度。我愣了两秒,然后继续敲代码。我把这个业务的实现从动态语言换成了静态的,问题少了。从此我多了一条团队规约

我把这段逻辑重写了一遍,用的是团队最熟的那门。我默默打开了编辑器,准备一步步验证。我在心里给这门语言的社区活跃度投了个票

语言本身很少是项目的瓶颈,除非它真的是。我愣了两秒,然后继续敲代码。我发现这门语言的错误信息对我很不友好。连茶水间都安静了