選自towardsdatascience
作者:Dasaradh S K
機器之心編譯
機器之心編輯部

Go為什麼是2020年最受歡迎的語言?這篇文章也許能夠給你答案。
30年前,Python首次出現,但它花了20年的時間才獲得開發者們的賞識。直到2019年,Python才成為最受開發者喜愛的第二大語言。Python在過去,尤其是在過去5年中的增長是非常巨大的。如今它已成為機器學習和資料科學開發者的首選語言。
在接下來的幾年中,Python無疑還将繼續在這些領域占據主導地位。但是,與一些新興語言相比,它存在一些明顯的缺點。對于未來十年的開發者來說,這可能是一個嚴重的障礙。
是以,有沒有一種更好的程式設計語言來替代Python呢?就人工智能發展和資料科學而言,Go語言或許會成為越來越多開發者的下一個首選語言。
Python為何大受歡迎
Python受歡迎最主要的原因是它的簡單,容易學習。與其他語言相比,Python的文法很簡單,幾個小時或者幾天之内就可以掌握它的基礎知識。
即使在學習其他語言(例如C++、Java)之後,開發者通常還是更喜歡使用Python。這是因為Python庫幾乎可以滿足所有開發需求。
是以,庫和簡單的文法讓使用Python進行開發既簡單又高效,也讓其成為适合初學者的語言。
Python并不是完美的
雖然Python易于學習的特性使其廣受歡迎,但它并不是完美的,在運作速度、C/C++使用和全局解釋器鎖三方面存在着一些問題。
速度
Python是一種解釋型語言,這也導緻了它最大的問題——運作緩慢。與其他語言(例如C++、Java)相比,Python的運作速度非常慢。此外,Python還是一種動态型語言。變量的資料類型在運作期間自動配置設定,這也使得運作速度大大降低。
使用C/C++
為了改善Python運作速度緩慢的問題,Tensorflow、Numpy和Pandas這些庫都是部分用C/C++編寫的。這對Python速度的提升起到了非常大的作用。基本上,Python需要借助其他語言來改善速度慢的問題。
全局解釋器鎖
Python的全局解釋器鎖(GIL)一次隻能運作一個線程,但這提升了單線程的性能。Python的多線程實際上并沒有同時運作多個線程。實際上,Python無法執行真正的多線程。
為什麼說Go語言将成為新興語言呢?
Go語言是一種開源程式設計語言,可輕松建構簡單、可靠且高效的軟體。
Go語言在2009年首次亮相,是谷歌開發的一種通用型語言。與Python等其他程式設計語言相比,Go語言具有多個優勢,這也是它值得關注的地方。
速度快
Go是靜态型化和編譯的語言,這意味着它的運作速度是Python的數倍。而與Python不同的是,Go不需要借助其他語言就可以達到一個較快的速度。Go幾乎和C++、Java一樣快,而且Go語言的代碼編譯速度比C++和Java快得多。
易于學習
Go的文法很簡單,類似于C語言。是以,Go語言同樣很容易學習,如果學習者已經掌握C或者Java語言的基礎知識,學起來就更簡單了。
越來越受歡迎
Hackearth對來自76個國家和地區的16000餘名開發者進行調查的結果顯示,Go語言是2020年最受歡迎的程式設計語言。32%的有經驗開發者表示他們想學習Go語言。
與此同時,29%的學生也表示想學習Go語言。
并發
并發是Go語言的主要優勢之一。Go使用Goroutine實作并發,Goroutine是可以同時獨立運作的函數。Goroutine隻占2KB記憶體,得益于這種輕量級,成千上萬個Goroutine可以同時運作。
下面這篇文章深入介紹了Go語言的更多優勢。
文章連結:https://medium.com/@kevalpatel2106/why-should-you-learn-go-f607681fad65
為什麼說Go适用于AI研究?
實際上,Go語言對于人工智能和資料科學研究本身來說并沒有什麼特别之處。那麼為什麼将其用于這些領域呢?
30年前,尚且沒有将Python用于建構機器學習和深度學習算法以進行資料可視化。Python能夠有現在的輝煌,是因為開發者和學生喜歡用這種語言程式設計,并且能夠實作開發者的開發目的。
而Go語言旨在提升程式開發的生産力。和Python相比,它具備多個優點。Go語言很有可能在未來幾年中取代Python,成為最受歡迎的語言。
是以,一言以蔽之:
未來十年,Go語言比其他任何一種語言都更能支援開發者們的想法。