看到 @vczh 轮子哥聊到计算能力过剩的问题现在前端的东西越写越大,动态类型的弊端暴露的也就越多,不然就不会有那么多人喜欢用TypeScript了。这跟性能仍然没有关系。反正现在大家的计算能力都过剩,分布式的技术也已经成熟了好多年了,实在不行就加钱嘛,到了今天谁还管这个。
忍不住过来聊几句。如果用户感觉不到/不在乎,什么语言、算法都是浮云,挑自己写着爽的就好了。
几十年前大家写编辑器的时候,内存硬盘计算能力都不行,大家写起来各种奇技淫巧,牛逼一点的就 Rope,不想写的太痛苦就选择 Gap Buffer ... 结果现在呢,大家都用 JavaScript 来实现的,UTF-16 的 String 用起来当然比 ArrayBuffer 爽的多了,当然内存也多一倍。数据结构就用 Line based Array 吧,不然优化 Rope 的时候还得手写红黑树。反正一个两万行的代码,你在最前面插入新的一行,Array Splice 花了 1ms 都不到。唯一一个有修为的 Bracket (CodeMirror) 用了 BTree,可是该倒闭还是倒闭啊。
机器性能过剩的情况下,大家写的爽不爽很重要。当然如果有竞争对手跟你(在性能上)较真的时候,你就需要换个合适的语言、写一点新人不太好维护的代码了。好处也是明显的,提升个几十倍几百倍。