This commit is contained in:
chai2010
2015-12-22 11:22:06 +08:00
parent 9531ea05f5
commit 620cbe2d2f
4 changed files with 7 additions and 9 deletions

View File

@@ -10,7 +10,7 @@ Go語言有時候被描述爲“C類似語言”或者是“21世紀的C語
但是在Go語言的家族樹中還有其它的祖先。其中一個有影響力的分支來自Niklaus Wirth所設計的Pascal語言。然後Modula-2語言激發了包的概念。然後Oberon語言 摒棄了模塊接口文件和模塊實現文件之間的區别。第二代的Oberon-2語言直接影響了包的導入和聲明的語法還有Oberon語言的面向對象特性所提供的方法的聲明語法等。
Go語言的另一支祖先帶來了Go語言區别其他語言的重要特性靈感來自於貝爾實驗室的Tony Hoare於1978年發表的鮮爲外界所知的關於併發研究的基礎文獻 *順序通信進程* communicating sequential processes縮寫爲CSP。在CSP中程序是一組中間沒有共享狀態的平行運行的處理過程它們之間使用管道進行通信和控製同步。不過Tony Hoare的CSP隻是一個用於描述併發性基本概念的描述語言併不是一個可以編寫可執行程序的通用編程語言。
Go語言的另一支祖先帶來了Go語言區别其他語言的重要特性靈感來自於貝爾實驗室的Tony Hoare於1978年發表的鮮爲外界所知的關於併發研究的基礎文獻 *順序通信進程* *communicating sequential processes* 縮寫爲CSP。在CSP中程序是一組中間沒有共享狀態的平行運行的處理過程它們之間使用管道進行通信和控製同步。不過Tony Hoare的CSP隻是一個用於描述併發性基本概念的描述語言併不是一個可以編寫可執行程序的通用編程語言。
接下來Rob Pike和其他人開始不斷嚐試將CSP引入實際的編程語言中。他們第一次嚐試引入CSP特性的編程語言叫Squeak老鼠間交流的語言是一個提供鼠標和鍵盤事件處理的編程語言它的管道是靜態創建的。然後是改進版的Newsqueak語言提供了類似C語言語句和表達式的語法和類似Pascal語言的推導語法。Newsqueak是一個帶垃圾迴收的純函數式語言它再次針對鍵盤、鼠標和窗口事件管理。但是在Newsqueak語言中管道是動態創建的屬於第一類值, 可以保存到變量中。