專為人工智能和數據科學而生的Go語言,或將取代Python
時間回到30年前,Python 首次亮相。花了20年時間,Python才獲得開發者的認可。來到 2019 年,Python已經成為開發人員第二喜歡的語言。
在過去的5年時間里,Python 成為了機器學習和數據科學開發人員的首選編程語言。
可以預見的是,在未來幾年內,Python在這些領域依然占據主導地位。但與較新的語言相比,它有一些嚴重的缺點,這對2020年的開發者來說可能是個障礙。
現在正是研究Python問題并用更好的替代方案取代它的時候。在人工智能開發和數據科學方面,我們的下一個語言可能是 Golang。
Python 流行的原因
Python 之所以受歡迎,主要原因是它簡單易學。與其他語言相比,它的語法很簡單,任何人都可以在幾個小時或幾天內學會 Python 的基礎知識。
即使在學習了其他語言(如C++或Java)之后,開發人員也往往更喜歡使用Python。這是因為幾乎所有的開發需求,都有對應的Python庫來幫我們解決問題。
龐大且功能齊全的Python庫和簡單的語法使 Python 中的軟件開發變得簡單而高效。這些優勢使Python成為初學者的首選語言。
Python存在的問題
1.速度
Python是一種解釋性語言,這導致了Python很大的問題 -- 執行緩慢。與其他編譯語言(如C++和GO)相比,Python的執行速度非常慢。
Python是一種動態類型語言。變量的數據類型在運行時自動分配,這就會讓執行速度變慢很多。
2.C/C++的使用
為了克服Python的運行慢的難題,Tensorflow、Numpy和Pandas等庫都是用C或C++編寫的,有助于顯著提高Python執行速度。
簡而言之,Python需要借助其他語言來克服它的運行速度過慢的難題。
3.全局解釋器鎖
Python的全局解釋器鎖(GIL)一次只允許一個線程執行,同時提高了單線程性能。Python的多線程實際上并沒有真正的同時運行多個線程。
(注意:Python的非CPython實現,比如Jython和IronPython沒有GIL)
為什么是Go語言?
Go是一種開源編程語言,它的出現,讓開發人員構建簡單、可靠和高效的軟件變得更加容易。
Go作為谷歌開發的一種通用語言,在10年前首次亮相。
相比Python及其他編程語言,Go有以下幾大優點:
1.運行速度快
Go是靜態類型和編譯語言。這意味著執行速度將比Python快幾倍。與Python不同,Go不需要其他語言的幫助來提高運行速度。
2.簡單易學
Go的語法很簡單,與C語言相似。它是一種特別容易學習的編程語言,特別是如果你已經掌握了C或Java語言的基礎知識。
3.越來越受歡迎
根據hackerth對來自76個國家的16000多名開發者的調查,Go是2020年很受歡迎的編程語言。
此外,還有32%有經驗的開發人員和29%的學生想學習Go語言。

4.并發
并發性是Go的主要優勢之一。Go通過Goroutines來實現并發,Goroutine是可以同時獨立運行的函數。
Goroutine是只占用2kb的內存的輕量級函數,可以同時運行數千個Goroutine。
是什么讓Go語言更適合人工智能研究?
在人工智能研究或數據科學中使用Go好像并沒有什么特別之處。
那么,為什么Go更適合用于人工智能和數據科學?
在30年前,Python被開發出來的初始目的不是為了構建機器學習或深度學習算法,也不是為了使數據可視化。
發展到今天,之所以會如此,是因為開發人員和學生都喜歡用Python來進行編寫代碼,并使用理解開發人員意圖和更加方便的語言。
Go的目的是提高程序員的工作效率。Python幾大缺點,在Go中,我們都看不到。因此,在接下來的幾年里,Go很有可能非常容易就能取代Python成為很受歡迎和很流行的語言。
所以,可以總結為一點:
Go語言可以支持“20多歲的開發人員”更好地理解他們的想法,以及幫助他們更好、更快地開發程序。