【go學習筆記1】爲何go

先來個wiki上關於go的解釋:
php

GoGoogle開發的一種編譯型並發型,並具備垃圾回收功能編程語言html

羅伯特·格瑞史莫Robert Griesemer),羅勃·派克(Rob Pike)及肯·湯普遜於2007年9月開始設計Go語言,稍後Ian Lance Taylor, Russ Cox加入項目中。Go語言是基於Inferno操做系統所開發的。Go語言於2009年11月正式宣佈推出,成爲開放源代碼項目,並在LinuxMac OS X平臺上進行了實現,後追加Windows系統下的實現。java

--《Go - 維基百科,自由的百科全書node

好吧,這是幹啥的?咱們有了C++,java,…………各類語言以後,爲啥又要來個新的?
python

十年以來,主流的系統級編程語言並未出現過,但在這期間,計算環境已經發生了巨大的變化。如下是一些趨勢:git

  • 計算機的速度變得極快,但軟件開發還不夠快。github

  • 在今天,依賴管理成爲了軟件開發中一個大的部分,但C傳統語言的「頭文件」與清晰的依賴分析——以及快速編譯背道而馳。golang

  • 對於像Java和C++那笨重的類型系統的反抗愈來愈多,這將人們推向了Python和JavaScript之類的動態類型語言。編程

  • 流行的系統語言對於像垃圾回收與並行計算那種基本思想的支持並不算好。服務器

  • 多核計算機的出現產生了一些麻煩與混亂。

咱們相信這值得從新嘗試一種新的語言,一種併發的、帶垃圾回收的、快速編譯的語言。它須要知足如下幾點:

  • 它能夠在一臺計算機上用幾秒鐘的時間編譯一個大型的Go程序。

  • Go爲軟件構造提供了一種模型,它使依賴分析更加容易,且避免了大部分C風格include文件與庫的開頭。

  • Go的類型系統沒有層級,所以不須要在類型之間的關係定義上花費時間。此外,儘管Go是靜態類型的, 該語言也試圖使類型感受起來比典型的面嚮對象語言更輕量級。

  • Go徹底是垃圾回收型的語言,併爲併發執行與通訊提供了基本的支持。

  • 按照其設計,Go打算爲多核機器上系統軟件的構造提供一種方法。


那相似的語言還有node.js,erlang,爲啥選go

好吧,我也剛開始,那就給出一些理由:


好吧,爲啥我會選go:

  1. 部署簡單

  2. 併發性好

  3. 執行性能不錯

  4. 語法相似C,沒有壓力



好了,還有問題的話,再開始以前,能夠看下 官方faq


接下來,個人目標是通用的遊戲服務器。


最後,附上一些學習資料:

相關文章
相關標籤/搜索