nodejs 代替python_Python/NodeJS坑记
Python/NodeJS坑記
自從學(xué)了Python和NodeJS,每每在寫新的程序之前我就會(huì)問自己:到底用Python好,還是用NodeJS好?兩者都能進(jìn)行快速開發(fā),并且各有千秋。
現(xiàn)在就記錄一下Python和NodeJS開發(fā)程序時(shí)的各種坑,方便以后糾結(jié)的時(shí)候查詢。
因?yàn)樵黾虞o助代碼會(huì)增加工作量,所以以下情況都是在不考慮其他輔助代碼,例如線程池,任務(wù)管理,的情 況下的考慮。
坑1:Python對(duì)高并發(fā)的支持
Python對(duì)付并發(fā)的手?jǐn)嘁话闶嵌嗑€程。多線程用來對(duì)付耗時(shí)較長的的并發(fā)任務(wù)是比較有效的。只需要寫下平常的同步代碼然后創(chuàng)建線程去運(yùn)行就好了。
但是多線程處理有非常嚴(yán)重的問題,那就是對(duì)細(xì)粒度的并發(fā)任務(wù)不友好。雖然有其他辦法可以解決效率問題,但是會(huì)增加代碼量,降低易讀性和可維護(hù)性。
坑2:NodeJS對(duì)內(nèi)存的管理既然Python對(duì)高并發(fā)支持不好,那么遇到高并發(fā)的程序,我們就用NodeJS吧。
想想是美好的,顯示是殘酷的。NodeJS處理高并發(fā)并沒有想像中的那么好。
NodeJS有極速V8引擎,對(duì)異步調(diào)用相性超高,乍一看是非常好的處理高并發(fā)的語言。
但是NodeJS有內(nèi)存限制!它沒法使用超過2G的內(nèi)存,這是由V8引擎內(nèi)部決定的,暫時(shí)沒法解決這個(gè)問題。
要就保證處理量不超過2G,要不就使用其他辦法(目前想到Cluster似乎可以解決,但是尚未嘗試過)
坑3:TypeScript for NodeJS
本來NodeJS是可以進(jìn)行快速開發(fā)小型程序的。但是TypeScript出現(xiàn)了,這個(gè)東西令我非常喜愛,可創(chuàng)建它的項(xiàng)目非常麻煩,需要一大堆依賴項(xiàng),一大堆命令。
最近發(fā)現(xiàn)了MSYS2,可以考慮寫一個(gè)bash腳本簡化創(chuàng)建項(xiàng)目的工作。
坑4:NodeJS第三方庫太少
NodeJS雖然有npm,但是作為一款本地語言,本地操作的庫還是太少了,很多常用操作都不支持,例如python對(duì)smb協(xié)議的支持就很好,而node就差多了。
總結(jié)
以上是生活随笔為你收集整理的nodejs 代替python_Python/NodeJS坑记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序猿要什么爱情,陪你未来的是键盘和代码
- 下一篇: python安装jupyterlab_超