脚本语言不写类型的优势是,偶尔写个拿来跑一遍两遍的东西,类型不对也影响不大。另外搭原型项目的时候,也往往都是水平比较高的人放飞自我快速搞出来个东西给大家瞅瞅。这些情况下省掉类型实际上是划算的,因为最重要的需求就是快,其它都不重要
涉及到多人协作的时候,缺少类型保障的缺点就体现出来了。团队越大,效果越明显。缺少类型信息产生的低级 bug 所浪费的时间,迅速超过写类型消耗的时间。从成本上考虑,自然就是团队越大,类型信息越有必要。
天朝的环境比较特殊,可能意识不到。其实很多国家绝大多数公司也就3、5个码农而已,除了一两个刚入职的新人以外,大家水平都差不多。在这个规模下,类型产生的问题并不明显。好歹也得到了两位数,类型的作用才能体现的出来。
typescript 有一点儿特殊,那就是它的流行跟 vscode 是分不开的。毕竟 ts 是自家的语言,而且 vscode 本身又是用 ts 写的,包括 lsp 的设计基本上是量身定做的。什么插件都不用装,对 ts 直接完美支持。根据我的观察,虽然我们公司里绝大多数人都装了我列出来的 vscode 的插件,但几乎没有人真正研究过每个插件到底干嘛用的,到底应该怎么用。要是不给当面演示一遍,就是装上了而已,绝对不会主动研究怎么用。所以 rails 的开发环境基本上是没有统一的体验的,从来不看插件的报错信息或者不想着怎么解决,于是每次打开环境都报错,该有的自动提示从来就没有。在这点上 ts 一点儿问题都没有,我们公司里除了一个用 vim 的抱怨以外,其他人都觉得用起来没问题。虽然我还是不能理解,为啥还是会提交编译不过的代码,明明在 vscode 里应该都是红线的。
【 在 threebird 的大作中提到: 】
: 不写类型但事实是有类型,类型不对还不执行,typescript又补上了类型。
--
修改:eGust FROM 222.153.172.*
FROM 222.153.172.*