同為編程語言的Go與Python,Go確實有些優勢是Python做不到的。
Go語言如今已經越來越受到大家的青睞。據悉知乎已經用Go語言代替了Python重構了搜索部分的功能,由此可見Go語言在后端方面取代Python將慢慢成為一種趨勢,也許就在近幾年,大家可以拭目以待。
那么接下來,我來談談Go能做到,但是Python做不到的。
高效部署
Go語言除了glibc之外沒有對其他外部包的依賴,這讓部署過程十分簡便,運行環境只需要基礎的系統和必要的管理工具即可,不用擔心部署上去之后由于缺少包而運行不起來的事情,大大減少了運維的工作量。而Python就沒這么容易了,它的部署工具生態由于早期發展的原因,可以用混亂來形容,雖然可以用鏡像來解決,但是與Go相比這無疑是額外的一筆精力開銷。
并發性好
Go語言非常適合高并發的服務端開發,很多情況甚至不需要考慮鎖以及鎖帶來的各種問題。此外,單個的Go應用能夠有效的利用多個CPU,進一步提高保證了并發性能。而Python在這方面也是遜色許多,由于全局所GIL的原因,它沒法像Go一樣高效率使用CPU,在部署應用的時候,總是會有些資源浪費。曾經有人統計過,如果某個Python應用啟動后需要占用100MB內存你,而服務器是32個CPU的,那么留一個CPU給系統,運行31個應用副本就要浪費近3GB的內存資源。
執行性能
這點也是大家經常說的,Go語言的性能趨近C語言,最好的情況下,速度能夠比Python快了近30倍。
以上是我認為在開發應用過程中,Go語言做得到,而Python很難追上的能力,歡迎各位在下方與我溝通。
我是蘇蘇思量,來自BAT的Java開發工程師,每天分享科技類見聞,我,與我共同進步。