标签 Java 下的文章

Go是编程语言世界的“特斯拉”

img{512x368}

Go技术专栏“改善Go语⾔编程质量的50个有效实践”正在慕课网火热热销中!本专栏主要满足广大gopher关于Go语言进阶的需求,围绕如何写出地道且高质量Go代码给出50条有效实践建议,上线后收到一致好评!78元简直就是白菜价,简直就是白piao! 欢迎大家订阅!

img{512x368}

本文翻译自《GO — The TESLA Of Programming World》 – https://medium.com/globant/go-the-tesla-of-programming-world-a3ad8584723e。内容有改编

免责声明:本文的内容仅用于娱乐和提供信息。我强烈建议读者不要基于这篇文章来进行专业领域的决策。这里表达的观点仅是作者本人的观点,绝不代表作者所属任何组织的观点,思想或意识形态。

缘起

img{512x368}

回味着晨起后的五谷豆浆在口中的余香,反思着二闺女四个月来的成长情况,一篇关于Go终于拥抱泛型的文章映入眼帘,紧接着就是3000多辆中国制造的出口欧洲的特斯拉Model 3汽车抵达比利时泽布吕赫港的消息。一个奇怪的想法油然而生并钻入了我的大脑:如果说Go和Tesla是通过“如何不陷入困境并对未来进行超前思考”而收到回报的新典范,那么保留了父母物种复杂的身体解剖结构的新生婴儿如何成长和发展自己的性格和态度呢。这就是让我感觉到Go确实是编程语言中的TESLA的原因和驱动力。

TESLA在汽车世界和Go在编程世界中的崛起和成长有着惊人的相似:

  • 两者的诞生都打破了他们各自领域中已约定俗成的做事方式的束缚,并提出了一种新的高效方法来完成相同的事情;
  • 两者都取得了惊人的成绩,并按照各自的增长计划前进,并似乎正在赢得这场战斗;
  • 两者已完成的和目标都是保留各自领域的优秀部分,并在硬性方面有所改进;
  • 两者都将成为各自领域帝国的未来。

开端

与普遍的看法相反,是通用汽车而不是特斯拉生产了世界上第一批量产的电动汽车,名为EV1。这辆车仅租赁而不出售,在生产了几年后,通用汽车召回了所有EV1汽车并销毁了它们!这促使马丁·埃伯哈德( Martin Eberhard)和马克·塔彭宁( Marc Tarpenning)启动TESLA(最初是TESLA汽车公司)来挑战大型汽车制造商,并引领世界进入零排放的出行方式。

在使用Go之前,Google的开发人员面临着编译时间,代码可维护性等问题,这些问题直接影响了生产力。另外,他们需要一种具有更好的并发支持的编程语言,以更好地利用多核处理器的特性。同时更易于学习,易于实现,编写更少的程序代码。Google当时主要使用C++,并且对代码中的任何问题或较小的修改都将花费一天多的时间。C++的另一个缺点与它的内存管理模型有关:内存的分配和释放不是动态的,并且如果程序员没处理好内存分配与释放事宜,就会导致内存泄露,导致应用程序运行变慢并最终崩溃。

在Go之前的时代,在项目开始时,需要选择要使用的编程语言:使用Python可简化操作,但也放弃了内存,CPU管理和可移植性;使用Java可利用其垃圾回收、自动内存管理和可移植性,但却以放弃简单为代价;选择其他诸如C++之类的语言则具有复杂的内存管理模型,并且没有内置的垃圾回收器。走进Go:一种简单易学的编程语言,由Rob Pike等设计的一种带有内置垃圾收集器(比Java中的垃圾收集器简单得多)的语言,支持静态编译并支持并发编程。

经过上面仔细剖析,可以注意到TESLA和Go的成立都是由于出现了机会。一个触发了他们各自的创造者开发出一种方法,试图解决各自领域中“当时”缺点的机会。

自持(自举)

电动汽车最重要的组件是电池,而对于编程语言来说,其最重要的组件则是被称为编译器的软件。TESLA的埃隆·马斯克(Elon Musk)最近宣布,他们将开发一种“tabless”电池,这将有助于为其车辆提供更好的续驶里程。重要消息,TESLA将自行生产这些电池。

为什么特斯拉一开始就没有自己的电池制造部门?没有具体的原因,但特斯拉优先考虑在汽车制造方面获得他们需要的专业知识,然后冒险为他们的汽车制定内部电池生产计划。

Go编译器是“语言实现自身”的一个典型案例。在Go 1.4版本之前,Go语言的编译器是用C编写的,后来被用Go编写的代码取代了

这样的自举变化提供了诸多好处,比如:可以更好地控制编译器,因为Go更简单,这使得调试编译器问题更快更容易。此外,Go还对单元测试和性能分析提供了出色的内置支持。

进一步阅读:对于你们当中好奇心重的人,在下面的资源链接中提供了一些资料,这些资料解释了对Go编译器进行更改的动机。https://docs.google.com/document/d/1P3BLR31VA8cvLJLfMibSuTdwTuF7WWLux71CYD0eeD8/edit

创新

在当今竞争激烈的世界中,创新一直是成功的关键所需。TESLA和Go都采用了颠覆性创新的方法。具有破坏性并不意味着新进入者必须挑战/修改/改变已经建立的完成任务方式的方方面面,而是在当前趋势下采取一种不同,更好,更简单,通常更有效的方式来完成任务。

根据维基百科,颠覆性创新是指一种创建新的市场和价值网络并最终破坏现有的市场和价值网络,取代当前已建立的市场的领先的公司,产品和联盟的创新。

TESLA通过几乎不存在的电动汽车制造提案进入了以燃油动力汽车为主的汽车制造市场。TESLA保留了久经考验的车辆空气动力学设计,但彻底改变了这些车辆自我推进的方式。自从他们的第一款汽车问世以来,大约12年之久,TESLA便将这场斗争推向了传统汽车制造商的家门口,而这些传统汽车制造商的生存受到了威胁,除非他们也通过创新。TESLA引领着交通的未来:零排放,可再生能源驱动的车辆。

Go是建立在现有编程语言,例如C,Pascal和Oberon的久经考验的优势之上的编程语言。摆在Go面前的最大、最复杂的难题就是:如何实现简单和最小化。C语言已经很简单,但是Go将简单性提高到了更高的水平。Go以其在学习和实现方面的简单性以及遵循一种简单的方法来实现复杂的编程概念(如并发性)而广受赞赏。最初,Go旨在解决Google的内部编程障碍。尽管技术进步意味着多核处理器从2006年开始成为标准,但没有一种编程语言可以充分利用这种处理能力,从而导致更快,更好的代码执行时间以及对运行代码的基础硬件和软件基础设施的有效利用。

颠覆性创新方法从Go如何处理某些编程范例得以反映出来。Go允许使用OOP样式的语法,但实际上它并不是面向对象的语言!与其他OO语言一样,它具有类型和方法,但是缺少类型层次结构。Go对继承概念的理解与JAVA等其他OO语言所追求的完全不同。与Java中需要两个关联类进行显式声明不同,Go根据某些合理的条件隐式计算类型关联关系。

尽管进入了已经很拥挤的编程语言世界,Go在短短的十二年间就引起了巨大轰动,可以说是最受喜爱,使用最多和增长最快的编程语言之一。根据当前的市场报告,Go威胁着编程语言中的巨擘Java,并且被广泛视为未来的(头部)编程语言。

成长

TESLA成立于2003年,当时不为人知。2008年,其首款产品发布,到2020年截至7月,TESLA已超越丰田,成为全球最具价值的汽车制造商。这就是创新的TESLA造成的破坏,它很可能取代APPLE成为全球市值最高的公司(按市值计算)。TESLA被公认为领先于其他汽车制造商至少十年的公司!

跨平台Go语言与Google自己的DART一起,是Github上增长最快的编程语言之一。截至2020年第三季度,它是GitHub上第四大最受欢迎的语言

根据2020年StackOverflow开发人员调查,它是StackOverflow上最受欢迎的语言第5名。Go的发展绝非偶然,也不是炒作,尤其是当您考虑到Docker,Kubernetes,Terraform之类的应用程序完全是用Go编写的。Go也是在职专业人员希望在2020年学习的编程语言之首。借助Go 2.0,Go有望成为企业软件开发的首选语言,以取代长期以来的王者JAVA。

img{512x368}

观念模式

大多数TESLA的用户都是从汽油动力汽车迁移而来,为了熟悉自己的新汽车,用户需要进行重大的观念转变。用户需要了解,他们需要跟踪的不是油位和冷却液位,而是电池电量。用户还需要了解充电周期以及不正确的充电技术对车辆的影响。

对于Go,此处的用户既是开发人员,又是推进Go项目实施工作的用户。开发人员需要特别了解项目需求,优势以及与Go相关的局限性。开发人员经常会从Go入手,这是对这门当前时代编程语言的一种狂热,从而常常忽略了它的局限性。诸如泛型和类型层次结构之类的简单概念也可以成为使用或不使用Go进行项目开发的成败之举。

支持

对于TESLA,售后支持的挑战来自于(充电)基础设施,特别是对基础设施的收费。这可能不是其母国(即美国)的最大障碍,但如果TESLA要扩展到中国等国家,则需要与当地政府机构合作开发必要的基础设施,以维持电动汽车的机动性。

关于Go,最大的障碍是拥有一个支持用户的技术社区。在这一领域,JAVA胜过其他已创立的语言,变得非常有说服力。JAVA得到了来自最大社区的支持。像Go这样发展壮大的语言肯定需要建立强大的,熟练的技术社区,这不仅将有助于Go成长为一种语言,而且还有助于其改进。

可持续性

TESLA建立了自己的品牌之后,要在销售和服务过程中提供最佳的客户支持来维持它,这是一项具有挑战性的工作。此外,由于其雄心勃勃的计划是通过提供新产品来迎合大众,因此需要观察他们在生产过程中是否能够维持同样高水平的质量控制。

与此处的TESLA相比,Go具有更大的可持续性关注。即使基于最小化和简单的原则构建,Go v2.0仍有望引入泛型。展望未来,它的创造者需要确保永不包含任何功能,概念和改进,不要偏离他们的愿景,并且最终不要成为像JAVA那样概念繁多的语言。早期采用JAVA的人也可能会告诉它,它起初只是很小的,但随着时间的流逝,它变得很沉重。Go应该避免走那条路

总结

考虑到上面所有观点,现在应该很清楚:TESLA取得成功的创新但艰难的道路同样适用于Go。它们各自领域中的困难本质上可能有所不同,但会以相似的原则影响着它们。


“Gopher部落”知识星球开球了!高品质首发Go技术文章,“三天”首发阅读权,每年两期Go语言发展现状分析,每天提前1小时阅读到新鲜的Gopher日报,网课、技术专栏、图书内容前瞻,六小时内必答保证等满足你关于Go语言生态的所有需求!星球首开,福利自然是少不了的!2020年年底之前,8.8折(很吉利吧^_^)加入星球,下方图片扫起来吧!

我的网课“Kubernetes实战:高可用集群搭建、配置、运维与应用”在慕课网热卖中,欢迎小伙伴们订阅学习!

img{512x368}

我爱发短信:企业级短信平台定制开发专家 https://51smspush.com/
smspush : 可部署在企业内部的定制化短信平台,三网覆盖,不惧大并发接入,可定制扩展; 短信内容你来定,不再受约束, 接口丰富,支持长短信,签名可选。

2020年4月8日,中国三大电信运营商联合发布《5G消息白皮书》,51短信平台也会全新升级到“51商用消息平台”,全面支持5G RCS消息。

著名云主机服务厂商DigitalOcean发布最新的主机计划,入门级Droplet配置升级为:1 core CPU、1G内存、25G高速SSD,价格5$/月。有使用DigitalOcean需求的朋友,可以打开这个链接地址:https://m.do.co/c/bff6eed92687 开启你的DO主机之路。

Gopher Daily(Gopher每日新闻)归档仓库 – https://github.com/bigwhite/gopherdaily

我的联系方式:

  • 微博:https://weibo.com/bigwhite20xx
  • 微信公众号:iamtonybai
  • 博客:tonybai.com
  • github: https://github.com/bigwhite
  • “Gopher部落”知识星球:https://public.zsxq.com/groups/51284458844544

微信赞赏:
img{512x368}

商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。

系统学习Go语言,有这几本书就够了!

img{512x368}

1. Go语言的发展现状

如果从2007年9月20日那个下午三个“程序员大佬”在谷歌总部的一间办公室里进行的一次有关设计一门新编程语言的讨论算起,那么Go语言已经度过了自己的13个年头了。

img{512x368}

Robert Griesemer、Rob Pike和Ken Thompson

如果从2009年11月10日Go语言正式开源发布算起,Go语言也即将迎来自己的第11个生日

img{512x368}

2020年,Go联合创始人Rob Pike在专访中也认可了Go确实已成为云基础架构的语言。在Go即将迎来自己的11个生日的时候,Hacker News有人发起了“Go已超过10岁了,你觉得这门语言如何?”的提问,收到了广泛的关注和回答。国内媒体将这些问答整理后得到的结论是:“人生苦短,我要换Go”

Stackoverflow官博11月2日发表的《Go语言有哪些优点?探讨导致Go语言日益流行的特征 》一文对Go语言的发展趋势描述的贴切:Go语言就像爬行的藤蔓,虽缓慢,但却逐渐占据了开发世界。它正以一种郁郁葱葱的并且在许多方面都很优越的编程能力覆盖着在它之前出现的所有事物
img{512x368}

不管你是否承认,Go在IT就业市场已经成为事实上的“香饽饽”之一,就像一贯不激进的慕课网也在今年双11打出了下面的专题:

img{512x368}

上车,任何时间都不晚! 那么怎么才能踏上Go这一强大且稳健前行的车呢?和其他主流编程语言一样,上车的必经之路:看书

2. 市面上的Go书籍为何这么少

和C、C++、Java、Python等编程语言在市面上的书籍数量相比,Go流行于市面(大陆)上的图书似乎少了很多。其原因笔者觉得有如下几点:

1) 年轻

我们来看看上述几门主流编程语言的诞生时间:

  • java 1995

  • c 1972

  • c++ 1983

  • python 1991

对于很多IT从业者来说,这些语言诞生的时候他们还没出生呢。而2009年末才正式发布的Go和“最年轻”的java之间还有14年的“年龄差”。

Go在国内真正开始快速流行起来大致在2015年第一届GopherChina大会(2015.4月)之后,当时的Go是1.4版本)。同一年下半年发布的Go 1.5实现自举并让GC延迟大幅下降,这引爆了Go在国内的流行。一批又一批程序员成为Gopher,在大厂、初创实践着Go语言。但知识和技能的沉淀和总结需要时间,相信再有5年,国内作者出版的Go语言相关书籍会像雨后春笋版出现在大家的书架上。

2)以品类代名词的身份占据的“领域”还少

提到Web,人们想到的是Java spring;提到深度学习、机器学习、人工智能,人们想到的是python和tensorflow;提到比特币,嵌入式,人们想到的是C;提到游戏,人们想到的是C++;提到前端,人们想到的是Javascript。这些语言在这些垂直领域早早以杀手级框架入场,使得它们成为了这一领域的“品类代名词”,因此与该垂直领域相关的技术书籍都会采用作为该领域“品类代名词”的编程语言编写书中示例等,这样的书也就会被归类为这类语言方面的书籍。

Go语言诞生晚,入场也较晚。Go虽然通过缓慢的“爬行”,覆盖了一些领域并占据优势地位,但还不能说已经成为了该领域的“品类代名词”,比如:云原生、API、微服务、区块链等,因此被垂直领域书籍关联的机会也不像上面那几门语言多。

同时,由于Go“自带电池”,基于Go标准库我们可以实现大部分功能特性,无需依赖过多框架。即便依赖框架,框架本身也不复杂,很少以“某某框架”为主题编写一本技术书籍,这方面远远无法媲美Java和Spring这对“黄金组合”。

3) 引进国外优秀作品需要时间

相对于国内,国外关于Go语言的作品要多不少,但引进国外图书资料需要时机以及时间(找译者翻译)。

3. 系统学习Go语言的书籍列表TOP 5

笔者接触Go语言较早,Go语言相关的中外文书籍几乎都通读过一遍(经典好书读过可不止一遍哦)。Go语言比较简单,如果单单从系统掌握这门语言的角度来看,阅读下面基本书籍就足够了。如果你要学习某些垂直领域的Go应用和技巧,那么期待我后续对垂直领域Go书籍/资料的推荐吧^_^。

这里参考“天下足球”TOP10栏目的方式推荐我心目中掌握Go语言必读的五大好书(每项满分为5分)!

第五名:《The Way To Go》 – Go语言百科全书

img{512x368}

《The Way To Go》是我早期学习Go语言时最喜欢翻看的一本书。该书成书于2012年3月,恰逢Go 1.0版本刚刚发布,作者承诺书中代码均可在Go 1.0版本上编译通过并运行。该书分为4个部分:

  • 为什么学习Go以及Go环境安装入门

  • Go语言核心语法

  • Go高级用法(读写、错误处理、单元测试、并发编程、socket与web编程等)

  • Go应用(常见陷阱、语言应用模式、从性能考量的代码编写建议、现实中的Go应用等)

每部分的每个章节都很精彩,这本书也是目前见到的最全面详实的讲解Go语言的书籍了,我称之为Gopher们的第一本“Go百科全书”

该书作者Ivo Balbaert想必大多数人都不曾耳闻。为了写本文,我特地研究了一下他的作品以及出版时间,发现这个技术作者是很会“抢先机”并且眼光独到。他总是能发现市面刚出现不久但却很有潜力的编程语言并在其他人了解该门语言之前,就编写出类似“The way to Go”这样的为早期语言接纳者提供的详实资料,包括JuliaRust等。在很多人还不知道这些语言名字的时候,他就已经开始学习这些语言,并为这些语言编写出质量很高的“百科全书”式的书籍。

很遗憾,这本书没有中文版。这可能是由于本书出版太早,等国内出版社意识到要引进Go语言方面的书籍时,这本书使用的Go版本又太老了,虽然本书中绝大部分例子依然可以在今天最新的Go编译器下通过编译并运行起来。不过无闻在github上发起了这本书的中译版项目:https://github.com/Unknwon/the-way-to-go_ZH_CN,感兴趣的gopher可以去在线或下载阅读。
此书虽棒,但毕竟年头“久远”,我只能委屈它一下了,将它列在第五位,下面是其各个指数的评分:

  • 作者名气指数:3

  • 关注度指数:3

  • 内容实用指数:4

  • 经典指数:4

总分:14

第四名:《Go 101》 – Go语言规范全方位解读

img{512x368}

这是一本在国外人气和关注度比在国内高的中国人编写的英文书,当然也是有中文版的。

如果仅从书名中的101去判断,你很大可能会认为这仅仅是一本讲解Go入门基础的书,但这本书的内容可远远不止入门这么简单。这本书可大致分为三个部分:

  • Go语法基础

  • Go类型系统与运行时实现

  • 以专题(topic)形式阐述的Go特性、技巧与实践模式

除了第一部分算是101范畴,其余两个部分都是Go语言的高级话题,也是要精通Go必须要掌握的“知识点”。并且,结合Go语言规范,作者对每个知识点的阐述都细致入微并结合大量示例辅助说明。我们知道有关C和C++语言,市面上有一些由语言作者或标准规范委员会成员编写的annotated或rationale书籍(语言参考手册或标准解读),Go 101这本书也可以理解为Go语言的标准解读或参考手册

Go 101这本书是开源电子书,其作者也在国外一些支持自出版的服务商那里做了付费数字出版。这使得这本书相对于其他纸板书有着另外一个优势:与时俱进。在作者的不断努力下,该书的知识点更新基本保持与Go的演化同步,目前其内容已经覆盖了最新的Go 1.15版本

该书作者为国内资深工程师老貘,他花费三年时间“呕心沥血”完成此书并免费奉献给Go社区,值得大家为其大大的点赞!
下面是本书推荐指数的评分:

  • 作者名气指数:3

  • 关注度指数:4

  • 内容实用指数:4

  • 经典指数:4

总分:15

第三名:《Go语言学习笔记》 – Go源码剖析与实现原理探索

img{512x368}

这是一本在国内影响力很大和关注度较高的作品。一来其作者雨痕老师是国内资深工程师,也是2015年第一届GopherChina大会讲师;二来,该作品的前期版本是以开源电子书的形式风险给国内Go社区的;三来,作者在Go源码剖析方便可谓之条理清晰,细致入微。

2016年《Go语言学习笔记》纸版书出版,该书覆盖了当时最新的Go 1.5版本,Go 1.5版本在Go语言演化历史中的分量极高,它不仅实现了Go自举,还让Go GC的延迟下降到绝大多数应用可以将其应用到生产的程度。本书整体上分为两大部分:

  • Go语言详解:以短平快、捞干的来的风格对Go语言语法做了说明,能用示例说明的,绝不用文字做过多修饰。

  • Go源码剖析:这是本书精华,也是最受Gopher关注的部分。这部分对Go运行时神秘的内存分配、垃圾回收、并发调度、channel和defer的实现原理、syn.Pool的实现原理做了细致的源码剖析与原理总结。

随着Go语言演化,其语言和运行时实现一直在变化,但Go 1.5版本的实现是后续版本的基础,因此这本书的剖析非常值得每位Gopher阅读。从雨痕老师的github上最新消息来看,他似乎在编写新版Go语言学习笔记,基于Go 1.12版本,剖析源码是枯燥繁琐的,期待新版Go学习笔记早日与Gopher们见面。
下面是本书各个指数的评分:

  • 作者名气指数:4

  • 关注度指数:4

  • 内容实用指数:4

  • 经典指数:4

总分:16

第二名:《Go语言实战》 – 实战系列(in action)经典之作,紧扣Go语言的精华

img{512x368}

Manning出版社出版的“实战系列(xx in action)”一直是程序员心中高质量和经典的代名词。在出版Go语言实战方面,该出版社也是丝毫不敢怠慢,邀请了Go社区知名的三名明星级作者联合撰写了该书的内容。这三位作者分别是:

  • 威廉·肯尼迪 (William Kennedy) – 知名Go培训师,培训机构Ardan Labs的联合创始人,”Ultimate Go”培训的策划实施者。

  • 布赖恩·克特森 (Brian Ketelsen) – 世界上最知名的Go技术大会 – GopherCon大会的联合发起人和组织者,GopherAcademy创立者,现微软Azure工程师

  • 埃里克·圣马丁 (Erik St.Martin) – 世界上最知名的Go技术大会 – GopherCon大会的联合发起人和组织者

本书并不是大部头,而是薄薄的一本(中文版才200多页),因此你不要期望从本书得到百科全书一样的阅读感。本书的作者们显然也没有想将其写成面面俱到的作品,而是直击要点,即挑出Go语言和其他语言相比与众不同的特点进行着重讲解,这些特点构成了本书的结构框架:

  • 入门:快速上手搭建、编写、运行一个go程序

  • 语法:数组(作为一个类型而存在)、切片和map

  • Go类型系统的与众不同:方法、接口、嵌入类型

  • Go的拿手好戏:并发及并发模式

  • 标准库常用包:log、marshal/unmarshal、io(Reader和Writer)

  • 原生支持的测试

读完这本书,你就掌握了Go语言的精髓之处,这迎合了多数gopher的内心需求。本书中文版译者Googol Lee也是Go圈子里的资深gopher,翻译质量上乘。

下面对本书各个指数的评分:

  • 作者名气指数:5

  • 关注度指数:5

  • 内容实用指数:4

  • 经典指数:4

总分:18

第一名:《Go程序设计语言》 – 人手一本的Go语言“圣经”

如果说由Brian W. KernighanDennis M. Ritchie联合编写的《The C Programming Language》(也称K&R C)是C程序员(甚至是所有程序员)心目中的“圣经”的话,

img{512x368}

那么同样由Brian W. Kernighan(K)参与编写的《The Go Programming Language》(也称tgpl)就是Go程序员心目中的“圣经”。

img{512x368}

本书模仿并致敬“The C Programming Language”的经典结构,从一个”hello, world”示例开始带领大家开启Go语言之旅。第二章程序结构是Go语言这个“游乐园”的向导图,了解它之后,我们就会迫不及待地奔向各个“景点”细致参观。Go语言规范中的所有“景点”在本书中都被覆盖到了,并且由浅入深,循序渐进:从基础数据类型到复合数据类型、从函数、方法到接口、从创新的并发goroutine到传统的基于共享变量的并发,从包、工具链到测试,从反射到低级编程(unsafe包)。作者行文十分精炼,字字珠玑,这与《The C Programming Language》的风格保持了高度的一致。书中的示例在浅显易懂的同时,又极具实用性并突出Go语言的特点(比如:并发web爬虫、并发非阻塞缓存等)。

读完本书后,你会有一种爱不释手,马上还要从头再读一遍的感觉,也许这就是“圣经”的魅力!

本书出版于2015年10月26日,也是既当年中旬Go 1.5这个里程碑版本发布后,Go社区的又一重大历史事件!并且Brian W. Kernighan老爷子的影响力让更多程序员加入到Go阵营,这也或多或少促成了Go成为下一个年度,即2016年年度TIOBE最佳编程语言。能得到Brian W. Kernighan老爷子青睐的编程语言只有C和Go,这也是Go的幸运。当然了如果老爷子是被Rob Pike或Ken Thompson通过私人关系邀请写书的,那就另当别论了,当然这纯属臆测,别当真^_^。

这本书的另一名作者Alan A. A. Donovan也并非等闲之辈,他是Go核心开发团队的成员,专注于Go工具链方面的开发。

现在唯一遗憾的是Brian W. Kernighan老爷子年事已高,不知道Go加入泛型后老爷子是否还有精力更新这本圣经。

该书中文版由七牛团队翻译,总体质量是不错的。建议Gopher们人手购置一本圣经“供奉”起来!^_^

下面对本书各个指数的评分:

  • 作者名气指数:5

  • 关注度指数:5

  • 内容实用指数:5

  • 经典指数:5

总分:20

4. 小结

Go书籍绝非“汗牛充栋”,预计Go增加泛型表达力增强后,市面上会有更多的技术书籍出炉。上面的某些经典也许还会出新版。而市面上Go书籍不多从另外一角度也可以理解成Go语言在国内还有巨大的发展空间与潜力。

努力吧,Gopher们!


只有写书者,才能体会到写者的艰辛!Go专栏:《改善Go语言编程质量的50个有效实践》也是我努力了一年多才打磨雕琢出来的心血之作。自从上线后,收到大家的热烈关注和好评!现在恰逢双11慕课大促,欢迎有意愿在Go这条技术路线上进阶的朋友们订阅,在学习过程中欢迎随时反馈和交流!

img{512x368}

我的网课“Kubernetes实战:高可用集群搭建、配置、运维与应用”在慕课网热卖中!欢迎小伙伴们学习支持!双十一慕课网优惠空前!别错过机会哦!

img{512x368}
微博:https://weibo.com/bigwhite20xx
微信公众号:iamtonybai
博客:tonybai.com
github: https://github.com/bigwhite

微信赞赏:
img{512x368}

商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。

如发现本站页面被黑,比如:挂载广告、挖矿等恶意代码,请朋友们及时联系我。十分感谢! 图片广告位1 图片广告位2 图片广告位3 商务合作请联系bigwhite.cn AT aliyun.com

欢迎使用邮件订阅我的博客

输入邮箱订阅本站,只要有新文章发布,就会第一时间发送邮件通知你哦!

这里是 Tony Bai的个人Blog,欢迎访问、订阅和留言! 订阅Feed请点击上面图片

如果您觉得这里的文章对您有帮助,请扫描上方二维码进行捐赠 ,加油后的Tony Bai将会为您呈现更多精彩的文章,谢谢!

如果您希望通过微信捐赠,请用微信客户端扫描下方赞赏码:

如果您希望通过比特币或以太币捐赠,可以扫描下方二维码:

比特币:

以太币:

如果您喜欢通过微信浏览本站内容,可以扫描下方二维码,订阅本站官方微信订阅号“iamtonybai”;点击二维码,可直达本人官方微博主页^_^:
本站Powered by Digital Ocean VPS。
选择Digital Ocean VPS主机,即可获得10美元现金充值,可 免费使用两个月哟! 著名主机提供商Linode 10$优惠码:linode10,在 这里注册即可免费获 得。阿里云推荐码: 1WFZ0V立享9折!


View Tony Bai's profile on LinkedIn

文章

评论

  • 正在加载...

分类

标签

归档



View My Stats