現在的編程語言已經泛濫了,為什麼google還要推出GO語言?

計算機 GO google


  • Go 特別適合開發網路應用,Go 語言提供的輕量級線程 goroutine 可以已同步的方式構建高並發網路應用,其他大多數語言不具備這個特性,比如 C++、Java 如果用同步方式處理網路連接要採用一個連接一個線程的方式,一個系統不能建立太多線程,所以連接並發數量也不會很多。如果採用非同步方式,比如 select、kqueue、epoll、nio等非同步方式雖然可以處理大量連接,但是編程模型複雜,不容易調試。而 goroutine 是 Go 運行時調度的輕量級的線程,可以建立大量的 goroutine 用來處理網路連接,同時具備同步方式的簡潔和非同步方式的高並發。
  • Go 語言適合開發大型項目,Go 語言編譯速度非常快並且自帶 build 系統,C++、Java 語言需要第三方的 build 系統 make、ant 等,大型項目中這些工具非常難用,而且需要手工維護。Go 的 build 不用程序員干預,可以自動完成一切,大大提高開發效率。


go語言非常簡潔,開發效率高。你可以去看看這篇文章:

「第一個吃「螃蟹」的人——七牛雲存儲帶你分享Go語言的樂趣」


最近在學習Golang 其實還是非常簡單的,而且提供了一些很符合高並發啊什麼的處理切入點。


Go是web時代的C,這句話說得太棒了。


科技在發展,語言也要跟著發展的呀。


看過一些Rob Pike的ppt,個人覺得真要找個理由的話,就是因為google自身對go有需求。Go應該說是為解決Google現有問題量身打造的,go最初的設計者里似乎沒有學院派。


泛濫了?

人類先先後後起碼發明了五千多種語言,還嫌不夠呢說弄什麼世界語什麼的,計算機語言這才幾個啊,就說泛濫,不是吧。

話說回來,Go 語言主要應用在網路伺服器和資料庫方面,是應用比較集中的語言,谷歌根據自己在這個領域的專長和經驗,在改良現有語言的基礎上,弄出了 Go 語言,可以看作一種技術改良。

從技術改良這個角度來考慮,計算機語言必須不斷更新,用新的代替舊的,新的應該層出不窮才對呢。


推薦閱讀:

第二屆 Gopher China 大會影響力如何?
c++設計三種不同繼承方式的意義是什麼?
如果讓我推薦編程語言的話(一)
如果編程語言是女孩,你會選擇哪一個?

TAG:編程語言 | Go語言 |