otakustay
2015-12-12 17:27:25 +08:00
来表演一下正确的黑法:
1. 显式异步没有错,错在 Node 从这么多异步方案中选择了最糟糕的单 callback 模型,而 Node 之初社区已经在讨论 Promise 了
2. 拜第 1 点所赐, Node 的异常流非常坑爹,必须手动判断异常存在并且手动编码完成 rethrow ,一个语言在异常上没有自动 rethrow 的机制会让很多异常被淹没或者产生更多不确定性的负面影响
3. 官方模块抽象程度不够,如 http 和 https 竟然分了 2 个独立模块
4. 官方 API 命名不一致, fs.readFile 是对的,那谁告诉我 fs.readdir 为啥全小写了
5. 没有正确区分标准库和运行时,明年 Charkra Node 肯定要在这事上遇到不小有阻碍
6. 对 ES 新语法的支持太慢( V8 :这个锅我来背)
7. 纯计算上对多核支持太差( V8 :这个锅还是我背)
8. 一个 node_modules 文件夹死活不能配置,还叫着 npm 以后要连前端的包也能一起管理,所以未来前端也叫 node 了,生命的大和谐