中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

python和nodejs對比有什么區別

沐橙
397
2021-03-29 15:43:55
欄目: 編程語言

python和nodejs對比的區別有:1、python中需要使用virtualenv來分割管理依賴包,而nodejs中通過NPM包管理;2、python中使用from/import進行引入模塊;而nodejs引入的其他模塊在本模塊內都有局部有效的名字;3、python不容易hack,而nodejs非常容易hack;4、兩者都是解釋性語言,但python缺少動態編譯JIT能力,而nodejs v8可以JIT執行javascript,性能要比python好。

python和nodejs對比有什么區別

具體分析如下:

一、?包和模塊管理

依賴包多版本管理

不能直接管理python ,需要利用 virtualenv來分割不同的環境

nodejs NPM 包管理,可以同時依賴不同版本的第三方模塊

二、引入模塊

python 使用 from / import,不同模塊同名不好區分

nodejs 模塊引入的其他模塊在本模塊內都有局部有效的名字,更自由,更靈活,更方便

三、導出模塊

python

nodejs 直接向 exports 中添加屬性,或向 module.exports 賦值即可,并非語言級別,而是簡單的普通操作語言本身

四、版本統一性

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

0
得荣县| 乌拉特后旗| 罗江县| 玉溪市| 洛隆县| 贞丰县| 文山县| 枣阳市| 林口县| 建水县| 潞城市| 荔波县| 左云县| 宣恩县| 磴口县| 江安县| 迁西县| 杭州市| 永靖县| 苏尼特左旗| 长葛市| 株洲县| 天柱县| 水富县| 凤山县| 小金县| 蕲春县| 红安县| 漳浦县| 抚顺市| 马公市| 姚安县| 霍山县| 霍林郭勒市| 外汇| 夏河县| 九龙坡区| 盘山县| 都江堰市| 泗阳县| 韩城市|