我用两种语言实现了同一个功能,行数差了一倍。我把相关的记录都翻了出来做对照。我把这个项目的语言升级列进了技术债清单。连茶水间都安静了

每次语言之争的结局都一样:各回各家,各写各的 bug。我叹了口气,然后打开了编辑器。我在心里给这门语言的社区活跃度投了个票。第二天这个方案就变成了团队标准做法

语言只是工具,这句话在被工具坑过之后才有说服力。我愣了两秒,然后继续敲代码。我在心里给这门语言的类型系统打了个分,很严格

这门语言写原型很快,写长期维护的代码很累。我听完沉默了,因为太真实了。我把这个服务用两门语言各写了一半,最后合并很痛苦。复盘会上我们把它列成了案例

说 JavaScript 是最好的语言的人,一定是没看过它的类型转换表。我抬起头看了看周围,大家都一样。我把版本从 1.2.3 降到 1.2.2,编译立刻通过了。第二天这个方案就变成了团队标准做法

语言只是工具,这句话在被工具坑过之后才有说服力。我笑了笑,决定不解释。我在项目里同时用了三种语言,现在维护起来像开盲盒。从此我多了一条团队规约

这门语言的版本升级带来了一批不兼容的改动。我把它记在心里,没跟任何人说。我发现这门语言对新手友好但对老手有陷阱。世界瞬间清净了

技术选型的理由里,性能通常排在熟悉度之后。我叹了口气,然后打开了编辑器。我默默把语言换成了团队里最熟的那个。幸好之前留了备份

这门语言的版本升级带来了一批不兼容的改动。我忽然觉得,这可能就是这一行的常态。我发现有人坚持用这门语言,理由是「我熟」。那一刻我觉得自己还是很专业的

这门语言写原型很快,写长期维护的代码很累。我笑了笑,决定不解释。我把这个老项目从老版本迁到了新版本,改动很大。感动,然后我学到了新的一课