From d3b880edc659dad8a175e15a31cb15a964c8f1f4 Mon Sep 17 00:00:00 2001 From: chai2010 Date: Thu, 7 Jan 2016 11:08:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E8=AF=91=E8=80=85?= =?UTF-8?q?=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- images/go-log04.png | Bin 0 -> 23581 bytes preface.md | 24 ++++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 images/go-log04.png diff --git a/images/go-log04.png b/images/go-log04.png new file mode 100644 index 0000000000000000000000000000000000000000..31f1ee9ec97e5cfb8a96b4107905ce40a297f96c GIT binary patch literal 23581 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 TXi#k#c~32Mz5AtVe+2&v^@2Oi literal 0 HcmV?d00001 diff --git a/preface.md b/preface.md index 77880f4..0738fb5 100644 --- a/preface.md +++ b/preface.md @@ -19,6 +19,30 @@ Go語言聖經 [《The Go Programming Language》](http://gopl.io) 中文版本 歡迎大家提供建議! +------- + +# 譯者序 + +在上個世紀70年代,貝爾實驗室的Ken Thompson和Dennis M. Ritchie合作發明了UNIX操作繫統,同時Dennis M. Ritchie爲了解決UNIX繫統的移植性問題而發明了C語言,貝爾實驗室的UNIX和C語言兩大發明奠定了整個現代IT行業最重要的軟件基礎(目前的三大桌面操作繫統的中Linux和Mac OS X都是源於UINX繫統,兩大移動平台的操作繫統iOS和Android也都是源於UNIX繫統。C繫家族的編程語言占據統治地位達幾十年之久)。在UINX和C語言發明40年之後,目前已經在Google工作的Ken Thompson和Rob Pike(他們在貝爾實驗室時就是同事)、同樣還有Robert Griesemer一起合作,爲了解決21世紀的多覈和網絡化編程問題而發明了Go語言。從Go語言庫早期代碼庫日誌可以看出它的演化歷程: + +![](../images/go-log04.png) + +從早期提交日誌中也可以看出,Go語言是從Ken Thompson發明的B語言、Dennis M. Ritchie發明的C語言逐步演化過來的,是C語言家族的成員,因此很多人將Go語言稱爲21世紀的C語言。 + +在C語言發明之後約5年的時間之後(1978年),Brian W. Kernighan和Dennis M. Ritchie合作編寫出版了C語言方面的經典敎材《The C Programming Language》,該書被譽爲C語言程序員的聖經,作者也被大家親切地稱爲K&R。同樣在Go語言正式發布(2009年)約5年之後(2014年開始寫作,2015年出版),由Go語言覈心糰隊成員Alan A. A. Donovan和K&R中的Brian W. Kernighan合作編寫了Go語言方面的經典敎材《The Go Programming Language》。Go語言被譽爲21世紀的C語言,如果説K&R所著的是聖經的舊約,那麽D&K所著的必將成爲聖經的新約。該書介紹了Go語言幾乎全部特性,併且隨着語言的深入層層遞進,對每個細節都解讀得非常細致,每一節內容都精綵不容錯過,是廣大Gopher的必讀書目。同時,大部分Go語言覈心糰隊的成員都參與了該書校對工作,因此該書的質量是可以完全放心的。 + +同時,單憑閲讀和學習其語法結構併不能眞正地掌握一門編程語言,必鬚進行足夠多的編程實踐——親自編寫一些程序併研究學習别人寫的程序。要從利用Go語言良好的特性使得程序模塊化,充分利用Go的標準函數庫以Go語言自己的風格來編寫程序。書中包含了上百個精心挑選的習題,希望大家能先用自己的方式嚐試完成習題,然後再參考官方給出的解決方案。 + +該書英文版約從2015年10月開始公開發售,同時同步發售的還有日文版本。不過比較可惜的是,中文版併沒有在同步發售之列,甚至連中文版是否會引進、卽使引進將由何人翻譯、何時出版都成了一個祕密。中国的Go語言社區是全球最大的Go語言社區,我們一直在緊跟Go語言發展的腳步。我們應該也完全有能力以Go語言社區的力量同步完成Go語言聖經中文版的翻譯工作。與此同時,国內有很多Go語言愛好者也在積極關註該書(本人也在第一時間購買了紙質版本,亞馬遜價格314人民幣)。爲了Go語言的學習和交流,大家決定合作免費翻譯該書。 + +翻譯工作從2015年11月20日前後開始,到2016年1月底初步完成,前後歷時約2個月時間。其中,chai2010翻譯了前言、第2~4章、第10~13章,Xargin翻譯了第1章、第6章、第8~9章,CrazySssst翻譯了第5章,foreversmart翻譯了第7章,大家一起參與了基本的校驗工作,還有其他一些朋友提供了積極的反饋建議。如果大家有任何問題或建議,可以直接到中文版項目頁面提交Issue,如果發現英文原文有錯誤,可以直接去英文版項目提交。 + +最後,希望這本書能夠幫助大家成爲Go語言的高手。 + +2016年 1月 於 武漢 + +------- + # 前言 *“Go是一個開源的編程語言,它很容易用於構建簡單、可靠和高效的軟件。”(摘自Go語言官方網站:http://golang.org )*