Swift、Kotlin、Dart 每个都学了一点,最后项目还是用老语言写的。这套流程走下来,我从头到尾又确认了一遍。我把这个项目的语言版本升级了,编译问题一堆。果然现实比段子更精彩

语言本身很少是项目的瓶颈,除非它真的是。我愣了两秒,然后继续敲代码。我在心里给这次的语言之争做了个结论,看场景。复盘会上我们把它列成了案例

语言的设计哲学会在代码风格里留下很深的痕迹。我想了想自己这些年,好像确实如此。我在心里给这门语言的社区活跃度投了个票。好在最后有惊无险

我在这门语言里踩的坑,在另一门里是常识。我深呼吸了一下,决定从最可疑的地方查起。我把这段代码从一门语言翻译到另一门,逻辑变了味。从此我多了一条团队规约

Swift、Kotlin、Dart 每个都学了一点,最后项目还是用老语言写的。我在心里把涉及的所有环节都过了一遍。我在群里发起了投票,然后群里吵了三个小时。果然现实比段子更精彩

C 语言程序员看什么都是内存,看谁都是 malloc。我叹了口气,然后打开了编辑器。我发现有人坚持用这门语言,理由是「我熟」。果然现实比段子更精彩

Ruby 程序员优雅地写了一行代码,三个月后没人看得懂那一行。我把相关的记录都翻了出来做对照。我把这个项目的语言特性用出了花,维护的人很痛苦。我把这条经验写进了团队 wiki

这门语言的并发模型很优雅,只是我们的场景用不上。我把它记在心里,没跟任何人说。我发现这个项目用了四种语言,每种只用了一小块。办公室安静得能听见键盘声

我在这门语言里找了三小时,最后发现是类型推断的锅。我默默打开了编辑器,准备一步步验证。我把依赖锁死了,从此再也不敢随便升级。我把它写进了组内的避坑文档第一章

我把这段代码从动态语言迁到了静态语言,心里踏实些。我把整条链路在心里复盘了一遍。我把这个库换成了另一个生态里的,依赖少了很多。我把它写进了组内的避坑文档第一章