{eval=Array;=+count(Array);}
謝邀。首先,不要限制住你的思維。現(xiàn)在想學習一門編程語言,不一定是go或是Python,而是根據你想要做什么、具體是什么而定,這取決于你的目標,真的。
如果您想進行Web編程,請學習Javascript,因為它允許您對前端和后端進行編碼(通過Node.js)。
如果你想進行系統(tǒng)編程,請學習C。Microsoft Windows和Unix / Linux / OSX都是C語言的核心,因此可以從C語言無縫地與大部分系統(tǒng)接口。如果您愿意,可以讓您進入嵌入式編程。
如果您對算法體系結構背后的數學理論以及學習構建高效,可組合,解耦,可維護系統(tǒng)背后的科學感興趣,并使用類型系統(tǒng)來證明代碼的正確性以獲得最終的安全性和穩(wěn)定性,那么請學習Haskell。 Haskell強調使用純數學函數構建軟件,IMO是有史以來設計最好的語言之一。
但是,如果您對代碼和算法的結構感興趣,并且編寫它們的方式與編寫lambda演算時的方式非常相似,并且有興趣學習將代碼作為數據和數據處理為代碼,那么請學習Lisp。有趣的是,Lisp很容易在非常快的速度上變得瘋狂。 Lisp是非常高級的,所以掌握這種語言我認為給你最好的機會,能夠很快寫出很多有用的東西(我建議使用常見的Lisp方言來實用)。
如果您有興趣在跨平臺遺留系統(tǒng)和大型企業(yè)環(huán)境中工作,并且學習一種在企業(yè)軟件開發(fā)中根深蒂固的語言,至少在接下來的20年內它可能不會消失,那么學習Java。
如果您對大數據感興趣并構建處理數PB數據的機器學習和分析應用程序,請學習Scala。這里有人會說Java,但我在這個領域的經驗是Java在這個問題領域的擴展性不夠好。 Scala在不犧牲性能的情況下為您提供更大的靈活性,并且在這個領域迅速普及。
但是,如果您只是對大數據的數據科學和發(fā)現(xiàn)部分感興趣,請學習Python,因為它擁有統(tǒng)計建模和分析大數據集樣本特征的最佳工具。 Python還為您提供服務器端Web編程和系統(tǒng)腳本。
正如您所看到的,您應該學習的1種語言取決于您想要做什么。
這并沒有一個正確的答案,永遠都不要限制住自己的思維,希望我的問題對您有一定幫助。
我會在這里發(fā)布所有與科技、科學有關的有趣文章,歡迎訂閱我的我們。偶爾也回答有趣的問題,有問題可隨時在評論區(qū)回復和討論。
(碼字不易,若文章對你幫助可點贊支持~)
再學一門編程語言,選 Go 還是 Python ?這個問題需要從幾個角度考慮!
首先肯定是服務端開發(fā),要不然應該不會說選 Go 還是 Python。
首先 PHP 容易學習,容易使用,而 Go 也有這些優(yōu)秀的特質!
其次,你已經學會了一門動態(tài)語言,了解動態(tài)語言的寫法,甚至深入了動態(tài)語言的原理,是時候系統(tǒng)學習一門靜態(tài)強類型語言了,而 Go 絕對是很好的選擇!
再次,現(xiàn)在微服務架構很流行,而 PHP 在這方面會有點難受,Go 這方面卻表現(xiàn)不錯,除了開源界一些流行的框架外,大廠也有很好的 Go 微服務實踐!
最后,在 Docker、k8s 大勢橫行的年代,我們沒有理由不接觸下它們的實現(xiàn)語言 Go!
Python 有它很多獨特的東西,比如使用縮進確定代碼塊。同時,Python 是一門很通用的語言,它在科學計算領悟、Web 領悟、人工智能領悟、運維領悟等都有很好的作用,特別是最近幾年的人工智能領悟,Python 可謂風光無限!
同時,Python 簡單易學,擁有強大的社區(qū)支持,強大的類庫、生態(tài),它表現(xiàn)能力強,很多語言很長的代碼,它可以很短的代碼實現(xiàn)。如果想深入了解動態(tài)語言的機制,Python 無疑是很不錯的選擇!
學習任何東西,我們還是希望有實際用處。學習編程語言也是如此,而且如果學習了不用,很容易就會忘記,使用是很好的掌握技能的方式。
如果想要在科學計算、AI 等領域使用,建議學習 Python,雖然 Go 在 AI 方面也有一些庫,有人在使用,但相比而言,Python 是最成熟、最火熱的。從每月的編程語言排行榜可以看出,AI 的興起,對 Python 還是有很大的助推作用。
如果想用于 Web API、微服務、云計算、中間件等領域,推薦學習 Go 語言。Go 語言號稱是云計算時代的語言,在這方面確實有它的優(yōu)勢。很多大廠,比如今日我們、滴滴、知乎等都在大規(guī)模使用 Go 語言。
綜上,如果你現(xiàn)在使用的是 PHP 這樣的動態(tài)語言,且繼續(xù)從事相同的行業(yè),Go 絕對是值得學習的語言,而且,我建議一定學習下 Go;如果想從事 AI 方面,可以學習 Python,或者現(xiàn)在使用的是靜態(tài)語言,可以嘗試下 Python 這種動態(tài)語言。
如果題主不是從事軟件開發(fā),只是因為個人興趣,我建議學習python,很多庫,能很方便的實現(xiàn)很多有趣的東西。但如果題主從事軟件開發(fā),在這里提這個問題,我覺得你應該學習一個可以和你本職工作有相關性的。而不用去問別人應該怎么選擇
根據通常情況:
1.首先,學習Python,熟練語法,編10個左右的小項目,基本掌握。
2.接著,學習Go語言。
原因:Python,未來編程界必須掌握的語言。Go語言,為工程而生,為并發(fā)而生。
不是掌握了這兩種語言天下就是你的了;而是,你占據了編程語言最有利的“語言”地形。
編程語言,其實都是觸類旁通的,只要你精通一門,不管是面向過程,還是面向對象,不管是靜態(tài)語言還是動態(tài)語言,其實精髓和核心思想都大同小異。
Java、Ruby,Python,Go,PHP。。等等吧,只要真的學會一門,其他學起來都不是難事。
關鍵是你的問題是你們公司要求轉Go,如果不轉,就意味著你可能要失業(yè),這個你要考慮好。
在我看來,我個人是比較喜歡公司要求的,相當于帶薪學習,這可不是每家公司都能做到的,在我看來都相當于員工福利了。。
而Go和Python,都是一門編程語言而已,關鍵是看他們的生態(tài)圈,如果公司讓你們轉,證明你們公司有這方面的業(yè)務,那你就放心大膽的去學Go,而且還能快速的學以致用。
而python,既然是你的興趣所在,你業(yè)余時間學學也不是不行啊。。
沒有最好的語言,只有某個場合最適合的語言,關鍵看你想怎么用。并且學一門編程語言只是最基本最簡單的事,你還需要學習這門語言圍繞的技術生態(tài)環(huán)境,并綜合使用它們的來解決實際問題。
首先人要理智,個人覺得對于架構師和高級工程師們,把Python和Go作為小工具語言或者中間件語言是最適合不過的。
對于剛入行或者要入行的朋友要注意了,只學Python或者Go的話,工作是相對不好找,市場需求量目前并不大,它兩各自的可用庫比較少,尤其是Go。
我客觀的說一下:Go的優(yōu)點并沒有外界吹噓的那么NB,經常被培訓機構和初學者以點蓋面,實施是它的缺點缺陷還是比較多的,有很多人認為Go 比 Python 要快而且說快30 倍,這是不負責任的,Python其實并不慢,反而有很多地方比Go快,一方面呢,大多數開發(fā)者自身編碼能力的問題,另一方面Python的絕大多數庫是C/C++寫的,Python能慢到那么離譜是不可能的,反而多數情況下比Go穩(wěn)健且快。Go有它優(yōu)勢但是它的火熱多數是被培訓機構吵起來的,跟國內高房價類似被炒房客抬高的。
總結一下,對于產品或者項目來說,技術的選型往往是變化的綜合的,選擇適合項目或者需求的開發(fā)語言和技術才是最重要的,比如一個淘寶等電商項目使用了Java,C/C++ ,PHP,Python ,Go等等把不同的語言綜合起來把它們擅長的地方用在恰當的地方。
不管是go還是python,或者其他語言,都只是一門編程語言而已,雖然你未來想做什么領域,人工智能也好,云計算也好,微服務也好。。。其實理論來講,每門語言都行,但實際上每門語言因為產生的歷史背景不同,語言特性不同,都有各自的優(yōu)缺點,就會導致某門語言,在某個領域,比較流行。。
比如提起人工智能,很多人就說提到python,這就讓很多不太了解內因的人,很容易混淆這兩個詞,會誤以為,python就是做人工智能的,人工智能就是python。。但實際上,python是一門腳本語言,一般學Python可以往很多方便發(fā)展:
1,比如可以做web應用開發(fā)
2,網絡爬蟲
3.AI 人工智能 與機器學習
4,數據分析等等。
所以,只是python語言相對來講,比較適合研究人工智能,但是人工智能包含的方面很多,要求也和難搞,不是說只學會了python就會了了人工智能。。
而Go語言,是一門新生代語言,主要用作服務器端開發(fā),其定位是用來開發(fā)“大型軟件”的,適合于很多程序員一起開發(fā)大型軟件,并且開發(fā)周期長,支持云計算的網絡服務。Go語言能夠讓程序員快速開發(fā),并且在軟件不斷的增長過程中,它能讓程序員更容易地進行維護和修改。它融合了傳統(tǒng)編譯型語言的高效性和腳本語言的易用性和富于表達性。
Go語言作為服務器編程語言,很適合處理日志、數據打包、虛擬機處理、文件系統(tǒng)、分布式系統(tǒng)、數據庫代理等;網絡編程方面,Go語言廣泛應用于Web應用、API應用、下載應用等;除此之外,Go語言還可用于內存數據庫和云平臺領域,目前國外很多云平臺都是采用Go開發(fā)。
說到底,python也能做大數據,Go語言也能做人臉識別,所以哪門語言不重要,而且都是觸類旁通的,如果你有編程基礎,推薦Go語言,如果你是零基礎的小白,也推薦Go語言,因為學習曲線低,比Python好入門。。
從實用的角度,初學者直接進入golang或python之一即可,是之一,兩者不要同時學,也不要在語言上做對比做類比。如果對語言感興趣,首選Python/ c++/ java均可,然后再去學習golang 會經歷一種撥開云霧見明月的內心體驗????
9
回答10
回答3
回答3
回答4
回答10
回答0
回答0
回答0
回答10
回答