回覆列表
  • 1 # 小鴿子看世界

    谷歌需要GO語言。

    過去10年間,計算機行業一直沒有出現主要的系統語言,而整個行業卻在這段時間內出現了翻天覆地的變化。主要的變化趨勢包括:

    計算機的執行速度越來越快,但軟體開發速度並沒有因此提速。

    依賴管理成為軟體開發的重要組成部分,但在傳統的C語言中,“標頭檔案”語言正與清除依賴分析和快速編譯處於對立狀態。

    用Java和C++語言寫成的系統往往更加繁瑣,正越來越遭到人們的唾棄,迫使開發人員必須採用更加靈活的程式語言,如Python和JavaScript。

    普通系統語言不能對部分基礎概念提供有效支援,如垃圾回收和平行計算。

    多核計算機的誕生催生了擔憂和不解。

    GO語言與Python語言相比,其優勢表現在:

    GO語言是一種併發式語言,具有垃圾回收機制和更快的編譯速度。我們相信GO語言值得一試。結合上面說到的趨勢,它的優勢包括:

    可以在單臺電腦上只花幾秒鐘的時間就編譯出一個大型的GO語言程式。

    GO語言可以提供軟體建構模式,從而可以輕鬆進行依賴分析,減少使用C語言時產生的許多間接費用。

    用GO語言編寫的程式沒有層級關係,因此不需要花費時間定義不同型別之間的關係。雖然GO語言也擁有靜態型別,但它所有型別的檔案都比典型的OO語言要小。

    GO語言具備全面的垃圾回收機制,可以為併發執行和通訊提供基礎支援。

    GO語言為在多核電腦上構建系統軟體提供了新方法。

  • 2 # NKmilitaryStudies

    Go 特別適合開發網路應用,Go 語言提供的輕量級執行緒 goroutine 可以已同步的方式構建高併發網路應用,其他大多數語言不具備這個特性,比如 C++、Java 如果用同步方式處理網路連線要採用一個連線一個執行緒的方式,一個系統不能建立太多執行緒,所以連線併發數量也不會很多。如果採用非同步方式,比如 select、kqueue、epoll、nio等非同步方式雖然可以處理大量連線,但是程式設計模型複雜,不容易除錯。而 goroutine 是 Go 執行時排程的輕量級的執行緒,可以建立大量的 goroutine 用來處理網路連線,同時具備同步方式的簡潔和非同步方式的高併發。

    Go 語言適合開發大型專案,Go 語言編譯速度非常快並且自帶 build 系統,C++、Java 語言需要第三方的 build 系統 make、ant 等,大型專案中這些工具非常難用,而且需要手工維護。Go 的 build 不用程式設計師干預,可以自動完成一切,大大提高開發效率。

  • 3 # techviewer

    可以看一下go的英文維基百科裡面有說,google本身最多的需要用的是c++ java python,go應該是介於python java之間的,對於效能記憶體管理有更好最佳化的語言。go的作者說自己厭煩了c++

  • 4 # 漫長的故事終有結束

    大公司都在努力的建立自己的程式語言,微軟的從c sharp,蘋果的swift,google 的go。從戰略角度講,是為了在程式設計世界擁有話語權。雖然開源,不是免費。舉個例子,某一天,突然在go裡面加入對goole雲的支援。那時候已經用慣go的人就很難放棄了。go提倡什麼,不支援什麼,都會影響很多東西

  • 5 # 阿拉比魔法變

    都沒回答到點子上。一句話概括,特別適合需要極高併發效能,但你又沒充分考慮設計清楚併發的執行緒模型的場景。對併發要求沒達到極高可以選python,對執行緒模型完全想清楚了java甚至直接擼c

  • 中秋節和大豐收的關聯?
  • 蔬菜粉如何製作?