异类选择的真实代价
人很容易因为一门语言优雅、或快、或因为你敬重的某个人对它推崇备至,就去选它。专就 vibe coding 而言,这种本能可能悄悄地把一个项目拖沉。原因在于:你花在和一门小众语言的工具链搏斗上的每一个钟头,或者花在理顺那些因为模型见过的例子太少而微妙出错的 AI 产出上的每一个钟头,都是你没拿去交付的钟头。异类选择很少会大声失败。它以一种缓慢的滴漏方式失败——多出来的修复循环、缺失的库、根本不存在的 Stack Overflow 答案。
具体地说,这份惩罚出现在三个地方。第一,AI 不那么流利,于是它犯更多错、也更不擅长修正——而不懂这门语言的你,分不清好代码和坏代码。第二,生态更薄,于是你需要的那个库可能不存在、可能已被废弃、或者没有可供照抄的例子。第三,当你卡住时,整个网络更安静:教程更少、被回答过的问题更少、撞上你这堵墙的人更少。在 Python 或 TypeScript 里,这三样都不成其为问题。
这些都不意味着异类语言不好。它意味着举证责任落在异类选择那一边。如果你有一个具体、明确的理由——你确实需要 Rust 的速度,你被 App Store 逼着用 Swift,你在扩展一个既有的 Go 服务——那就睁着眼睛去付这份代价。如果理由是"它看着挺酷",那就选热门的那个,去交付点东西。你随时可以日后重写,但你几乎从不会,因为热门的那个选择早已把活干完了。