Go為什么是2020年最受歡迎的語言?這篇文章也許能夠給你答案。
30年前,Python首次出現(xiàn),但它花了20年的時間才獲得開發(fā)者們的賞識。直到2019年,Python才成為最受開發(fā)者喜愛的第二大語言。Python在過去,尤其是在過去5年中的增長是非常巨大的。如今它已成為機器學習和數(shù)據(jù)科學開發(fā)者的首選語言。
在接下來的幾年中,Python無疑還將繼續(xù)在這些領(lǐng)域占據(jù)主導地位。但是,與一些新興語言相比,它存在一些明顯的缺點。對于未來十年的開發(fā)者來說,這可能是一個嚴重的障礙。
所以,有沒有一種更好的編程語言來替代Python呢?就人工智能發(fā)展和數(shù)據(jù)科學而言,Go語言或許會成為越來越多開發(fā)者的下一個首選語言。
Python為何大受歡迎
Python受歡迎最主要的原因是它的簡單,容易學習。與其他語言相比,Python的語法很簡單,幾個小時或者幾天之內(nèi)就可以掌握它的基礎(chǔ)知識。
即使在學習其他語言(例如C++、Java)之后,開發(fā)者通常還是更喜歡使用Python。這是因為Python庫幾乎可以滿足所有開發(fā)需求。
所以,庫和簡單的語法讓使用Python進行開發(fā)既簡單又高效,也讓其成為適合初學者的語言。
Python并不是完美的
雖然Python易于學習的特性使其廣受歡迎,但它并不是完美的,在運行速度、C/C++使用和全局解釋器鎖三方面存在著一些問題。
速度
Python是一種解釋型語言,這也導致了它最大的問題——運行緩慢。與其他語言(例如C++、Java)相比,Python的運行速度非常慢。此外,Python還是一種動態(tài)型語言。變量的數(shù)據(jù)類型在運行期間自動分配,這也使得運行速度大大降低。 使用C/C++
為了改善Python運行速度緩慢的問題,Tensorflow、Numpy和Pandas這些庫都是部分用C/C++編寫的。這對Python速度的提升起到了非常大的作用?;旧?,Python需要借助其他語言來改善速度慢的問題。 全局解釋器鎖
Python的全局解釋器鎖(GIL)一次只能運行一個線程,但這提升了單線程的性能。Python的多線程實際上并沒有同時運行多個線程。實際上,Python無法執(zhí)行真正的多線程。
為什么說Go語言將成為新興語言呢?
Go語言是一種開源編程語言,可輕松構(gòu)建簡單、可靠且高效的軟件。
Go語言在2009年首次亮相,是谷歌開發(fā)的一種通用型語言。與Python等其他編程語言相比,Go語言具有多個優(yōu)勢,這也是它值得關(guān)注的地方。
速度快
Go是靜態(tài)型化和編譯的語言,這意味著它的運行速度是Python的數(shù)倍。而與Python不同的是,Go不需要借助其他語言就可以達到一個較快的速度。Go幾乎和C++、Java一樣快,而且Go語言的代碼編譯速度比C++和Java快得多。 易于學習
Go的語法很簡單,類似于C語言。所以,Go語言同樣很容易學習,如果學習者已經(jīng)掌握C或者Java語言的基礎(chǔ)知識,學起來就更簡單了。 越來越受歡迎
Hackearth對來自76個國家和地區(qū)的16000余名開發(fā)者進行調(diào)查的結(jié)果顯示,Go語言是2020年最受歡迎的編程語言。32%的有經(jīng)驗開發(fā)者表示他們想學習Go語言。
與此同時,29%的學生也表示想學習Go語言。
并發(fā)
并發(fā)是Go語言的主要優(yōu)勢之一。Go使用Goroutine實現(xiàn)并發(fā),Goroutine是可以同時獨立運行的函數(shù)。Goroutine只占2KB內(nèi)存,得益于這種輕量級,成千上萬個Goroutine可以同時運行。
下面這篇文章深入介紹了Go語言的更多優(yōu)勢。
文章鏈接:https://medium.com/@kevalpatel2106/why-should-you-learn-go-f607681fad65
為什么說Go適用于AI研究?
實際上,Go語言對于人工智能和數(shù)據(jù)科學研究本身來說并沒有什么特別之處。那么為什么將其用于這些領(lǐng)域呢?
30年前,尚且沒有將Python用于構(gòu)建機器學習和深度學習算法以進行數(shù)據(jù)可視化。Python能夠有現(xiàn)在的輝煌,是因為開發(fā)者和學生喜歡用這種語言編程,并且能夠?qū)崿F(xiàn)開發(fā)者的開發(fā)目的。
而Go語言旨在提升程序開發(fā)的生產(chǎn)力。和Python相比,它具備多個優(yōu)點。Go語言很有可能在未來幾年中取代Python,成為最受歡迎的語言。
因此,一言以蔽之:
未來十年,Go語言比其他任何一種語言都更能支持開發(fā)者們的想法。
責任編輯:lq
-
AI
+關(guān)注
關(guān)注
87文章
31493瀏覽量
270077 -
編程語言
+關(guān)注
關(guān)注
10文章
1950瀏覽量
34925 -
python
+關(guān)注
關(guān)注
56文章
4807瀏覽量
84979
原文標題:下個10年,Go能取代Python成為開發(fā)者的首選語言嗎?
文章出處:【微信號:TheBigData1024,微信公眾號:人工智能與大數(shù)據(jù)技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論