作为一个偏向全栈的PHP程序猿,应该先学Node.js呢 还是 Python呢( 二 )


语言本身

版本统一性
python 分为 2,3 两个大版本,互相兼容性较差,很多模块需要特定python版本的模块版本,比较混乱
nodejs 版本和API比较稳定统一,而且有NPM 兼容各个版本的依赖模块,版本管理有序,很好的支持了node核心和第三方模块的版本演llj进

语法
python 的确比较精炼清晰,特别是丰富的数据结构的支持,简洁的各种运算符代替函数,可以说有丰富的语法糖
nodejs 语言是 javascript,核心更为精简,虽然本身数据结构和数据处理比较简陋,但是使用 coffee-script 可以弥补,coffee-script 简直就是 javascript 版本的 python

灵活性
javascript 基于 prototype 的继承更为灵活
nodejs 基于事件的处理使得处处是钩子和扩展点

可hack性
python 不容易 hack
javascript 非常容易hack

都是解释性语言
python 缺少动态编译JIT能力
nodejs v8 可以 JIT 执行 javascript,性能要更好

并发模型
python 需要多线程编程
nodejs 采用非阻塞异步I/O,做非CPU密集型应用非常高效 开发质量和效率

都是解释性语言
都无法再编译期进行各种检查
但是 nodejs 有 javascript 语言的各种格式和语法检查器可供使用
可以采用 coffee-script 开发 javascript,吸收了大量的 python 语法糖
build system
nodejs 有完整的build system(grunt/gulp)
nodejs 在 web 开发资源的丰富程度、创新度、活跃度远远高于 python学习成本

如果只有精力学习一门语言
很定是 javascript,因为至少浏览器前端需要js
js 语言核心更小,更精炼,更多的语法糖和功能是通过模块或库提供
nodejs 本身就可以用作生产web服务器,而 python 至少前面需要 nginx 代理

环境准备
在 windows 默认没有python环境,但是却可以在浏览器中调试器console中练习 javascript

■网友
JS才全栈。
■网友
学PHP


推荐阅读