图灵社区会员 soooldier(soooldier@) 专享 尊 版权 图灵社区会员 soooldier(soooldier@) 专享 尊 版权 内 容 提 要 本书⾸先引领读者快速浏览 Go 语⾔的全貌,迅速消除读者对这门语 ⾔的陌⽣感,然后循序渐进地介绍 了 Go 语⾔的⾯向过程和⾯向对象的编程语法,其中穿插了⼀些与其 他主流语⾔的⽐较以让读者理解 Go 语 ⾔的设计动机,接着探讨了 Go 语⾔最为 要的并⾏编程⽅法,之后 介绍了⽹络编程、⼯程管理、安全编程、 开发⼯具等⾮语法相关但⾮常 要的内容,最后为⼀系列关于 Go 语 ⾔的⽂章,可以帮助读者更深⼊了解这 门全新的语⾔。 本书适合所有层次的开发者阅读。 图灵原创 Go语⾔编程 ◆ 编著 许式伟 吕桂华 等 责任编辑 王军花 ◆ ⼈⺠邮电出版社出版发⾏ 北京市崇⽂区⼣照寺街14号 邮编 100061 电⼦邮件 315@ ⽹址 北京 印刷 ◆ 开本 :800×1000 1/16 印张:15.25 字数 :361千字 2012年 8 ⽉第 1 版 印数 :1 — 4 000册 2012年 8 ⽉北京第 1 次印刷 ISBN 978-7-115-29036-6 定价 :49.00元 读者服务热线 :(010604 印装质量热线 : (010 反盗版热线 :(010 图灵社区会员 soooldier(soooldier@) 专享 尊 版权 前⾔ :为什么我们需要⼀门新语⾔ 1 1 前⾔ :为什么我们需要⼀门新语⾔ 2 编程语⾔已经⾮常多,偏性能敏感的编译型语⾔有 C 、C++ 、Java 、C# 、 Delphi和Objective-C 3 等,偏快速业务开发的动态解析型语⾔有PHP 、Python 、Perl 、Ruby 、 JavaScript和Lua等,⾯向特 定领域的语⾔有Erlang 、R和MATLAB等,那么我们为什么需要 Go这 样⼀门新语⾔呢? 在2000年前的单机时代,C语⾔是编程之王。随着机器性能的提升、 软件规模与复杂度的提 ⾼,Java逐步取代了C的位置。尽管看起来Java 已经深获⼈⼼,但 Java编程的体验并未尽如⼈意。 历年来的编程语⾔排⾏榜 (如图0-1所⽰)显⽰,Java语⾔的市场份额 在逐步下跌,并趋近于C语 4 ⾔的⽔平,显⽰了这门语⾔后劲不⾜。 Tiobe编程语⾔排⾏榜 Java语⾔ 5 )% C语⾔ 分⽐ ( 6 所占的百 7 时间 图0-1 编程语⾔排⾏榜① 8 Go语⾔官⽅⾃称,之所以开发Go 语⾔,是因为“近10年来开发程序之 难让我们有点沮丧” 。 这⼀定位暗⽰了Go语⾔希望取代C和Java 的地位,成为最流⾏的通⽤ 开发语⾔。 Go希望成为互联⽹时代的C语⾔。多数系统级语⾔ (包括Java和C#) 的根本编程哲学来源于 —————————— 9 ① 数据来源 : /index.php/content/paperinfo/tpci/index .html 。 图灵社区会员 soooldier(soooldier@) 专享 尊 版权 2 前⾔ :为什么我们需要⼀门新语⾔ C++,将C++的⾯向对象进⼀步发扬光⼤。但是Go语⾔的设计者却 有不同的看法,他们认为C++ 真 的没啥好学的,值得学习的是C语⾔。C语⾔经久不衰的根源是它⾜够 简单。因此,Go语⾔也要 ⾜够简单 ! 那么,互联⽹时代的C语⾔需要考虑哪些关键问题呢? ⾸先,并⾏与分布式⽀持。多核化和集群化是互联⽹时代的典型特 征。作为⼀个互联⽹时代 的C语⾔,必须要让这门语⾔操作多核计算机与计算机集群如同操作单 机⼀样容易。 其次,软件⼯程⽀持。⼯程规模不断扩⼤是产业发展的必然趋势。单 机时代语⾔可以只关⼼ 问题本⾝的解决,⽽互联⽹时代的C语⾔还需要考虑软件品质保障和团 队协作相关的话题。 最后,编程哲学的 塑。计算机软件经历了数⼗年的发展,形成了⾯ 向对象等多种学术流派。 什么才是最佳的编程实践?作为互联⽹时代的C语⾔,需要回答这个问 题