天天看點

go替代python運維_下個10年,Go能取代Python成為開發者的首選語言嗎?

選自towardsdatascience

作者:Dasaradh S K

機器之心編譯

機器之心編輯部

go替代python運維_下個10年,Go能取代Python成為開發者的首選語言嗎?

Go為什麼是2020年最受歡迎的語言?這篇文章也許能夠給你答案。

30年前,Python首次出現,但它花了20年的時間才獲得開發者們的賞識。直到2019年,Python才成為最受開發者喜愛的第二大語言。Python在過去,尤其是在過去5年中的增長是非常巨大的。如今它已成為機器學習和資料科學開發者的首選語言。

在接下來的幾年中,Python無疑還将繼續在這些領域占據主導地位。但是,與一些新興語言相比,它存在一些明顯的缺點。對于未來十年的開發者來說,這可能是一個嚴重的障礙。

是以,有沒有一種更好的程式設計語言來替代Python呢?就人工智能發展和資料科學而言,Go語言或許會成為越來越多開發者的下一個首選語言。

Python為何大受歡迎

Python受歡迎最主要的原因是它的簡單,容易學習。與其他語言相比,Python的文法很簡單,幾個小時或者幾天之内就可以掌握它的基礎知識。

go替代python運維_下個10年,Go能取代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語言。

go替代python運維_下個10年,Go能取代Python成為開發者的首選語言嗎?

與此同時,29%的學生也表示想學習Go語言。

go替代python運維_下個10年,Go能取代Python成為開發者的首選語言嗎?

并發

并發是Go語言的主要優勢之一。Go使用Goroutine實作并發,Goroutine是可以同時獨立運作的函數。Goroutine隻占2KB記憶體,得益于這種輕量級,成千上萬個Goroutine可以同時運作。

下面這篇文章深入介紹了Go語言的更多優勢。

go替代python運維_下個10年,Go能取代Python成為開發者的首選語言嗎?

文章連結:https://medium.com/@kevalpatel2106/why-should-you-learn-go-f607681fad65

為什麼說Go适用于AI研究?

實際上,Go語言對于人工智能和資料科學研究本身來說并沒有什麼特别之處。那麼為什麼将其用于這些領域呢?

30年前,尚且沒有将Python用于建構機器學習和深度學習算法以進行資料可視化。Python能夠有現在的輝煌,是因為開發者和學生喜歡用這種語言程式設計,并且能夠實作開發者的開發目的。

而Go語言旨在提升程式開發的生産力。和Python相比,它具備多個優點。Go語言很有可能在未來幾年中取代Python,成為最受歡迎的語言。

是以,一言以蔽之:

未來十年,Go語言比其他任何一種語言都更能支援開發者們的想法。