Python 在大部分領域都能勝任,為什麼很多企業轉向了 Golang

時間 2021-05-06 09:35:03

1樓:明月映江雪

簡單易學,大部分同學幾天內就可以上手;

快速開發,原型開發階段快速拿下標的最重要;

天生支援併發;

當然上述優勢直接導致golang開發者工資可能偏低

2樓:李寧

python太慢了,之前專案的壓力測試客戶端用twisted寫的,intel i5乙個核心只能跑300多條鏈結。要跑上七八千得占用七八臺機器。而伺服器用Cpp,乙個4core的i5就能撐住,cpu還用不完。

3樓:

因為原生 Python 的效能真的是太捉襟見肘了。單機執行計算型任務,速度慢是有目共睹的。IO 型人物不涉及多執行緒(比如用協程)的還好,一旦涉及到多執行緒,立刻懵逼。

比如,你開個 Python 執行緒,讓它 sleep 5 秒,再開第二個執行緒,隨便算個 fibonacci 或者直接寫個 busy loop,你就會發現你的程式實際上會 sleep 6 秒。

想突破也不難,用 pybinding11 寫 c++,再用 python 呼叫。但都這樣了,為什麼不直接用 c++?因為對很多人來說 c++ 太難了,寫起來心智負擔很大,一不小心留個坑,服務掛了得 debug 半天。

自己 debug 也就罷了,有時候還得拉同事來墊背。

Golang 就容易多了。菜鳥也能寫出來乙個效能遠高於 Python 的程式。語法也簡單,而且總體上也比較安全,不用瞻前顧後。

自動 gc,又鼓勵用 channel 的方式來做跨執行緒同步,很多低階錯誤都避免了。

當然 Golang 效能和 c/c++ 相比其實還是比較差。需要做計算的時候,又得去抱 c 的大腿,和 Python 一樣。自動 gc 用起來爽,但導致效能天花板比較低,甚至聽說會成為效能瓶頸。

那麼有沒有和 Golang 一樣語法簡單,菜鳥都能放心使用,不怕踩坑暴雷,效能又可以像 C/C++ 一樣快的語言呢?

Rust programming language

4樓:

我喜歡Python,Python的生態也非常強大,畢竟Python就是靠著生態稱霸的。

但是,Python的致命弱點,效能!

golang作為編譯語言,有的僅次於cpp的效能,同時又具有Python快速開發的特性,可以說golang是一種集大成語言,學習golang肯定不會被淘汰的

5樓:

最根本是為了省機器。

之前實習的公司就在大規模的把python高機器占用的服務遷到go上面。機器能省下80%,對於乙個大服務動不動幾千例項來說,這是一大筆錢啊。

6樓:

貼一篇王垠的文章(

關於go語言-backup

你以為是語言問題,實際上只是政治問題

可是現在我發現貌似有稍微點評一下 Go 語言的必要了,因為 Google 似乎總是仗著自己的名氣,鼓吹它的一些不堪入目的語言設計,並試圖讓它們「流行」。特別是這個 Go 語言,居然起了乙個如此沒有想象力的名字,完全就是在舔 Google 的屁股。如果是產品也許還無所謂,可是語言這個東西不一樣。

如果你對設計差的語言不批評,等它流行起來,到時候迫於社會壓力,你就不得不用這些語言。一些仗恃自己會某某「最新語言」的人就會耀武揚威,甚至騎到你頭上。我覺得 Google 和某些其它「網際網路公司」為了顯示自己的「實力」,正在讓本來就混亂的計算機行業變得更加混亂。

預言要實現了真香(

7樓:soeur

py輸在效能,贏在庫多。

對我個人而言,py除了庫多實在沒看出來有什麼好處,哪個方面都有其他語言可以跟py拼。但是耐不住py庫多,熱度高。(說起熱度高。。實在搞不懂你們為什麼喜歡py,我感覺哪方面都不好用)

(不是鄙視py,只是跟你們黑php差不多2333,我黑py而已)

8樓:程式設計師李某

對於大部分業務邏輯而言,Go實現起來的易用性和Python 差不多,但效率卻經常好十倍以上,這對很多開發團隊來說自然是很有吸引力的。

9樓:夜航船

因為golang是真正的編譯通過了,就可以出廠了,學習golang只需要學習golang本身的東西就可以了。更專注,更高效。

10樓:

原問題: Python在大部分領域都能勝任,為什麼很多企業轉向了golang?

我的結論是: 問題本身不是乙個具體的問題, 因此可能無法得到想要的答案( 任何乙個角度切入, 都能說得頭頭是道).

問題應該明確點:

大部分領域, 指哪些領域?

很多企業, 指哪些企業

『轉向了』, 怎麼定義? 全部業務線用go寫, 還是主要業務線用go寫

我的答案是:

可能『Python在大部分領域都能勝任』這個預設前提, 在這家企業的眼中, 不成立, 他就覺得Python不能勝任

這家企業的新CTO上任, 新官上任三把火, 搞點KPI, 也是能理解的. 搞點什麼呢, 『Python是動態語言, 動態型別一時爽, 這個結論是公認的』,那就挑這個軟柿子捏吧

跟風, go現在風頭正盛, 組織內部討厭python 的人, 有意無意地往這個方向推

這家企業, 通過判斷自己的業務需求, 準確做出了『應該轉向go』的決定.

這家企業只是內部某條業務線使用了go, 然後被外界說成了『轉向了go』

其他若干奇葩的不奇葩的理由等

總之, 原因太多了.

如果問題改成『Python 在Web後端領域能勝任, 為什麼X企業在Y年的 Z%的業務線上轉向了go』, 也許能比較理想地得到想要的答案

11樓:蘇維

想想十年前從ruby、perl轉向python的理由,這十年python不思進取,當年批評ruby、perl的理由如數奉還給python。

12樓:

因為golang只能替代Python,也確實可以替代Python,rob pike 自己說過:"儘管我們希望 C++ 程式設計師來了解 Go 並作為乙個可選的語言,但是更多的 Go 程式設計師來自如於 Python、Ruby。只有很少來自 C++".

Go的目標是替代C++甚至是C,但到目前為止顯然這個目標失敗了,誤打誤撞的替代Python,就好比本來打算得個奧運金牌最後只是打破全國記錄了。你說是可喜可賀還是任重道遠和一臉尷尬?

不過對『很多企業』表示懷疑, 你是說google是『很多企業』麼?

13樓:陳隨易

首先,勝任只是程式設計業務中乙個比較低的要求。

比如,走路,騎自行車,照樣能從北京到拉薩。

拿現在給你一輛自動駕駛汽車,為什麼不選擇汽車去呢?

go相對於c和c++來說,語法簡單。

go相對於python來說,效能高。

所以,一門語法簡單,效能又高的語言出來了,轉向go是很自然而然的事情。

不過,最近黑go的也比較多,從語言層面到社群層面。

個人而言,更看好rust。

當然,語言只是工具。

但是,喜歡某個工具,沒錯吧。

14樓:

python的動態特性,在高手手裡那就無所不能,在菜鳥手裡那就無異於自殺。所以問題的關鍵是找不到這麼多高手給你去開發。

要是乙個團隊裡的每個人都對程式有100%的把控,那型別檢查就沒有必要,可以充分的利用動態特性,極大的提公升開發效率和靈活性。可惜找不到這麼完美團隊。

一般的效能問題的話,花點功夫設計一下python也不是滿足不了,關鍵還是看人。

15樓:2gua

除了資料分析/ML/DL、維護性工作等領域,在業務應用領域,國內的知名公司中,據我所知,也就是豆瓣、知乎比較大規模使用Python?這個「很多用Python的公司」從何而來?

是不是「很多轉向Go」不知道,但感覺知乎上的氛圍已經逐漸從「Python粉」轉向「Python黑」了。

16樓:貓球小子

同意一種觀點,就是用同樣水平的開發者(普通大眾開發者)。同樣能力情況下golang比較容易寫出效能更好的程式。python優點非常多,但是不得不承認大部分python程式設計師的水平寫出高效能程式的難度是有些大的

是不是大部分硬碟galgame都能用手機上的模擬器開啟?

已登出 我們假設你的手機足夠優秀。用bochs win10映象可上網版,給它裝上各種執行庫http soft.so.com zt youxiku,所有可以在32位windows系統執行的galgame都能執行得起來 當然你的手機可能沒那麼優秀,既然這樣,用exagear ed再裝上所有擴充套件,那麼...

大部分00後現階段在幹嘛?

長安的雨 00後的我,在上學。還能幹啥?哦對,寫答案告訴你我在上學。ll 你套不出什麼00後搬磚打工的悲慘經歷的,也不會有什麼他她ta之間的狗血劇情的,我們這一代被管的可緊,有這般下場的人是不會有手機來這裡寫答案的。 不休不朽不修補休 學習,為了高考,在乙個小縣城,只能靠高考改變命運。閒暇時也會追星...

看韓劇8年左右了,大部分韓語都能聽懂,但是不認識韓字,該怎麼學習韓語?

紫鑫 首先必須把音標學好!音標是日後韓語各項學習的根基。韓文是拼音型文字,所以音標學會之後,任何乙個南韓字就都認識了,剩下的工作就是去理解南韓人的表達方式,思維方式,做事方式,以及該背的內容還是要好好背。很多親喜歡看南韓綜藝,喜歡聽自己偶像的歌,緊追韓劇的每個情節,其實這些都是我們學習韓語的好方法,...