回覆列表
  • 1 # 西海狂飆

    Python語言在Web開發領域也是傳統的解決方案之一,而且Python語言簡單易學且調整方便,深受程式設計師群體的歡迎。在大資料領域,採用Python做資料分析是比較常見的選擇,Python中的Numpy、Scipy、pandas、Matplotlib等庫使用起來非常方便,在機器學習領域也有廣泛的應用。相信隨著大資料、人工智慧、物聯網等領域的不斷髮展,Python未來的前景還是非常不錯的。

    Go語言是一門新興的程式語言,主要致力於效能的提升,目前Go語言也受到了廣泛的關注,在大資料等領域,Go語言將發揮出重要的作用。雖然Go語言主打效能,但是由於目前Go語言的生態體系還有待完善,所以目前Go語言的應用場景還明顯少於Python,相信隨著Go語言的發展,未來Go語言的應用前景也是值得期待的。

  • 2 # python小白社群

    我的建議是,語言不僅僅是簡單的工具,你選擇語言主要是取決於語言對應的工作場景,只有明確了自己以後職業發展方向,選擇對應語言才是明智之舉。

    首先,Python是解釋性語言,程式碼在執行時會一行一行的翻譯成CPU能理解的機器碼。優點:優雅、明確、高效、簡單缺點:執行速度慢、程式碼不能加密

    Python是跨平臺的,即互通性。它可以執行在Windows、Mac和各種Linux/Unix系統上。如:在Windows上寫Python程式,放在Linux上也是能執行的。

    Python是一個面向物件的語言,在Python裡面一切皆物件。在大資料和機器學習時代,Python作為一個廣為使用的萬能語言,受到了大家的追捧,也就是,有很多的第三方庫用python來開發,維護,特別是機器學習和深度學習領域,基本上主要框架都是用Python編寫,如果你想在這些領域有發展, python無疑是尚好選擇。

    現在來說說Go 語言,它從釋出 1.0 版本以來備受眾多開發者關注並得到廣泛使用,Go 語言的簡單、高效、併發特性吸引了眾多傳統語言開發者的加入,而且人數越來越多。鑑於Go語言的特點和設計的初衷,Go語言作為伺服器程式語言,很適合處理日誌、資料打包、虛擬機器處理、檔案系統、分散式系統、資料庫代理等;網路程式設計方面,Go語言廣泛應用於Web 應用、API應用、下載應用等;除此之外,Go語言還適用於記憶體資料庫和雲平臺領域,目前國外很多雲平臺都是採用Go開發。伺服器程式設計,以前你如果使用C或者C++做的那些事情,用Go來做很合適,例如處理日誌、資料打包、虛擬機器處理、檔案系統等。分散式系統、資料庫代理器、中介軟體等,例如Etcd。如果你以後職業發展定位於服務後端,那Go無疑是面向未來的一個領域語言,可以值得擁有。

    附圖下各個語言的工作職位排名,也可以作為參考。

  • 3 # Go語言中文網

    PHPer,再學一門語言,Python 和 Go 如何選擇的問題,我覺得需要從以下方面考慮!

    01 學新語言的目的

    要問問自己,為什麼想學習其他語言?目的一般無非以下幾種:

    1)工作需要

    這種情況下,一般是跟著工作走。比如,團隊決定某一個部分使用 Go 語言實現,這時你的學習!

    2)提升自己的競爭力

    技術人員,需要保持不斷學習。這幾年,Docker、k8s等很流行,它們是 Go 語言實現的,為了更好的掌握它們,你可能會考慮學習下 Go。同樣的,這幾年 AI 很火,如果你想學習相關技術,Python 會是更好的選擇!

    另外,目前這種形式,很多時候,只會一門語言是不夠的,為了提升競爭力,很有必要學習其他語言,看看其他語言的設計。PHP 是動態語言,Python 也是,而 Go 是靜態語言,而且,Go 語言對多核、併發做了很多工作。從這個角度,Go 語言會是更好的選擇,對能力提升會很有幫助!

    3)想換其他工作,轉領悟

    如果是這個目的,我們應該根據領悟哪種語言更合適進行選擇。如果轉 AI,Python 更合適;如果轉 區塊鏈,Go 可能更好;如果雲計算,Go 也更合適;如果科學計算,Python 值得擁有。。。

    02 候選語言對自己能力的補充

    如果拋開學習目的,純粹從候選語言層面考慮,我們需要了解自己目前的狀況和候選語言能給自己帶來哪些方面的補充。

    Python 和 PHP 一樣,是動態弱型別指令碼語言,從這個角度考慮,它們會有相似性。PHP 主要用於 Web 開發,Python 除了這方面,更多用於資料分析、運維、科學計算、爬蟲和 AI 等領域。這裡很多東西涉及到非語言層面的知識,如果你對這裡的領域感興趣,學習 Python 對能力會是一個很好的補充。

    Go 是一門靜態強型別語言。它出身名門,對 C 語言做了很好的揚棄。作為一門通用的系統程式語言,學習它,能夠讓你更好的瞭解計算機底層知識,掌握計算機和語言的運作原理。當然,要掌握這些需要有較強的基礎。但一旦掌握了這些,會讓你的 Level 上一個臺階。從這個角度,我強烈建議學習下 Go ,學習另外一種不同的程式設計方式。

    03 總結

    透過以上的分析,你對自己應該選擇什麼語言有數了吧!在時間、精力允許的情況下,不管選擇什麼,作為 PHPer,我都建議瞭解下 Go 語言,為自己開啟一扇不一樣的門。加油,行動起來吧!

  • 4 # 愛碼農

    Python

    Python最大的特點就是簡單易學,對新手十分友好,而且Python在運維類指令碼工具開發和爬蟲等領域應用十分廣泛,像這兩年比較火的AI和NLP等,很多也是基於Python的。單純從語言角度來說,Python寫起來要比Javascript舒服很多。Javascript設計本身有許多缺陷,畢竟當時設計的時候只是作為在瀏覽器中做一些簡單任務的script,所以程式碼一旦龐大,維護還是有困難。

    Go語言

    Go語言可以滿足我們對程式語言諸如語法簡單、多執行緒等所有幻想。在語言特性不是很熟悉的情況下,我們甚至僅僅用一個週末的時間,就可以用Go語言完成一個CRUD應用。敲業務程式碼實現起來特別簡單,沒考慮過死鎖的問題,因為框架層面就幫你解決了。而且全部是同步程式碼,不用再去await了。目前比較坑爹的是Go的包管理不夠好,以及各種開源庫存在不靠譜的情況。可能用著用著就panic了。不過相信隨著Go 2.0的問世,有了泛型以及新的錯誤處理機制,Go的庫也會越來越完善。可以說,Go語言是未來,在web開發領域也會逐步提升份額。現在大部分是用Go做中介軟體開發,但是也有大廠用來做crud業務了。所以現在開始學習掌握Go語言是一個非常好的選擇。

  • 5 # 鍵盤上的信仰

    建議學習go;

    1、php算是一門動態型別的語言,學習程式語言最好能夠有特性上的互補,或者語言本身有不同的程式設計思維。

    2、go的效能高,語法簡單,部署方便,適合做一些命令列工具,和服務端程式設計,很容易就能開發出可用的軟體。

    3、網際網路平臺高併發的服務端api部分,我覺得以後很大的市場會被go佔有。

    4、go本身的標準庫非常的強大,而且介面簡單。

    5、go在面向物件和函數語言程式設計方面取到了很好的平衡,面向物件的長處在於很強的程式碼組織能力,團隊協作,和設計模式支援,但是比較繁瑣。而函式式簡單高效。

  • 6 # IT極客老兵

    選哪個語言合適,我覺得這個問題應該從你的工作情況出發:

    什麼語言工作機會最多

    目前,軟體公司招聘的開發崗位,最多的就是Java工程師,不管是服務端開發還是移動端安卓開發,都是要求掌握Java語言,最近比較火爆的大資料開發工程師也是很多要求掌握Java語言,畢竟大資料平臺的基礎構件:Hadoop、HBbase等都是Java開發的。

    什麼語言對應的崗位薪酬最高

    Java語言可能不是最高的,但是絕對是最穩定的,以下資料來自看準網:

    語言排名對比

    最新一期,TIOBE語言排行榜:

    從上圖可知,Java繼續排名第一,Go排名第15,Python排名第3。

    Java自從2001排名第一以來,已經持續10多年排名第1,位置近期內仍然不可撼動。

    Python上升趨勢明顯,排名8.5%達到歷史新高,如果保持這一增速,有可能在3,4年後取代Java或C語言的地位。

    Go語言同比上升3位,仍然不溫不火。

    結論

    從現實出發,建議你選擇更為穩定的Java語言作為PHP的替代者。

  • 7 # 三邵爺的夢囈

    1. 可以說考察一門語言的優劣,你可以從下面幾個方面來比較:

    效能可擴充套件性併發性和並行性實際應用執行方式程式庫程式碼可讀性

    Python 和 Go 在以上幾個方面的比較不相上下, Python 帶有大量的程式庫,如今已被廣泛地應用在資料分析、人工智慧、深度學習、以及Web開發等領域。當然,這些都歸功於Python擁有的強大程式庫,它們能夠被開發人員輕鬆且靈活地使用到。

    而Go 主要被用於各種系統的程式設計場景。由於支援併發性,因此它在雲計算和叢集計算領域,得到了大量的使用與接受。同樣憑藉著其強大且易用的程式庫,Golang在Web開發中也獲得了許多讚賞和應用。您完全可以在幾秒鐘內構建出一臺Web伺服器。

    2. 個人更推薦你學Go語言。

    一方面,Go 語言現在很受關注,它是取代 C 和 C++ 的另一門有潛力的語言。

    C 語言太原始了,C++ 太複雜了,Java 太高階了,所以 Go 語言就在這個夾縫中出現了。

    這門語言已經 10 多年了,其已成為雲計算領域事實上的標準語言,尤其是在Docker/Kubernetes 等專案中。

    Go 語言社群正在不斷地從 Java 社群移植各種 Java 的輪子過來,Go 社群現在也很不錯。

    如果你要寫一些 PaaS 層的應用,Go 語言會比 C 和 C++ 更好,目前和 Java 有一拼。而且,Go 語言在國內外一些知名公司中有了一定的應用和實踐。此外,Go 語言語法特別簡單,你有了 C 和 C++ 的基礎,學習 Go 的學習成本基本為零。

  • 8 # 夢迴故里歸來

    首先我給你的回答是兩個都可以。

    目前來看,python的市場佔有率很大,因為畢竟已經發布很多年了,所以它和php一樣,有著豐富的第三方類庫,很多平臺也都有對它的支援。比如,微信支付,支付寶支付都是有python語言的支援的,所以學習python你會感到社群氛圍濃厚,資料很多,可能唯一的缺點就是從眾多資料中選擇的幸福吧。

    反過來,golang還很年輕,年輕意味著它沒有包袱,它沒有歷史遺留問題,相反,它借鑑了很多語言的優點,擯棄了很多缺點。這使得它既好學,有高大尚。如果你聽過go語言,一定知道它處理併發的優雅,一個goroutine就簡潔優雅地解決了問題。

    python是指令碼語言,go是編譯語言。如果從學習的廣度來說,推薦學習go語言,這樣,php指令碼語言你會了,go編譯語言你也會了,這樣對你深刻認識和理解軟體程式設計有非常大的幫助。

    最後,我想說的,不要太糾結學哪一個,挑一個學就行,慢慢你會發現,你可以兩個都學了~

  • 9 # AI中國

    go看過幾個程式,挺強大的。比如有一個weedfs分散式檔案系統。至於好用。指令碼語言是容易程式設計,容易維護,但是不容易除錯。2000年左右python是指令碼語言之王,現在也是排名靠前的。go是類似java設計定位,應用範圍比java還要小的一個語言。可能需要很多年成長才會好用起來。要說好用呢,語言熟悉了,都好用。無論是basic,python,c,c++還是java,用熟悉了感覺是相同的,開發速度也比較接近。不過整體上指令碼語言要比編譯語言開發速度快幾倍。但是執行時出錯的機率也大了幾倍。

  • 10 # 一葉漲肚

    python和go都是很好的語言,主要看你從事的方向,如果你只是用來寫後臺服務,那go是個不錯的選擇,如果從事的方向包括運維\爬蟲\後臺\資料,那我建議選擇python,語言只是工具,沒有最好的,只有適合自己的

  • 中秋節和大豐收的關聯?
  • 我要開始認識足球豪門與球星了,除了巴薩皇馬梅西C羅還有其它推薦的嗎?