為什麼Go語言設計受到歡迎?

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

Go言的參與者Dave Cheney針對GO語言為什麼當前越來越受歡迎的原因提出了一些新的見解。

原文見:Go’s Language Design Leaves Others Behind

Cheney指出大多數現代語言都是從簡單出發,最後卻很少實現強大的目標,他認為複雜語言其內部的笨拙文法其實使用“富有表現力”等詞語委婉掩蓋了,這些複雜語言不會直接承認他們在簡單和直接上做得很失敗。

大多數語言起初理想目標是簡單,但是當他們試圖加入前人語言的同樣特性以後,反而失去了簡單的目標,作為一個新語言通常面對如何替換以前語言的壓力,成為那些被替換語言的子集變成了這些新語言的一個目標(banq註:好像在黑Scala之類JVM語言),結果導致了巴洛克風格(banq註:華而不實),我們在其他語言中到處看到不必要的複雜性。

Cheney認為一個新語言應當是精製的,不是單純對老語言的替換,應該是從前任語言的錯誤中得到學習。

為什麼Go語言不同於前期的語言?首先,它離開了前期語言達成的公約,或者說約定俗成,這些約定其實沒有意義,Go成功就是因為將這些約定扔掉,相當於加入了新功能(banq註:少則意味多,減意味著增)。其次,Go語言允許程式員建立堅實的基礎,Cheney使用流沙比喻比喻其他語言,幾十年來這些繁瑣的語言將大型架構其實建立在流沙上,基礎不簡單也不堅實。

你不能在事後再增加簡單,簡單只有扔掉一些東西後才會得到。

發明一個可理解的語言不意味著就是讓它變得容易,而是讓它直接。Cheney進行了一些舉例說明,比如限制文法的數量能夠方便於有經驗程式員,同是又避免疏遠新程式員。

Cheney相信今天需要簡單的編程是不言而喻的,Rob Pike作為Go語言的一個建立者說:Go語言不是來自一個委員會的群體作品,而是代表Ken Thompson, Robert Griesemer 和他自己的經驗升華”。所有有經驗的程式員都同意在Go中不需要額外的垃圾,Go為簡單設計,簡單是其原始特性,而不是副特性。

Cheney還談了GO在大型團隊合作中的好處。

Cheney認為Go秉承了UNIX哲學:簡單而鋒利,結合在一起能夠完成更複雜的任務。更重要的是,能完成語言原始作者都沒有想到的任務,Go的包可以通過更簡單的介面彼此互動,這些介面相比Java或C++更簡單沒有限制、可組合,從而引向更簡單實現。

Cheney還解釋了GO語言在容器集裝箱流程市場上的強有力地位(Docker)。

最後他說:Go語言適合願意把事情做好的程式員。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.