郝林和他的 Go 语言故事

Posted MacTalk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了郝林和他的 Go 语言故事相关的知识,希望对你有一定的参考价值。

题图:by Apple from Instagram


今天极客新闻发布了一条 Go 和 Python 相关的内容:从 Python 迁移到 Go 的原因和好处。文章写的是 Stream 公司把后端的核心服务从 Python 实现改成了 Go 的事情。Stream 是一套用于构建、伸缩、定制化新闻源和活动流的 API,每个月为 3 亿多用户提供约 10 亿次 API 请求服务。


为什么会从 Python 转向 Go?并不是语言的优劣,而是场景问题。Python 更适合脚本语言场景、数据挖掘和抽取、爬虫、机器学习领域,而 Go 则是解决高并发和高可用的性能利器,事实上 Stream 的 CEO 兼创始人蒂埃里·肖伦巴赫也解释了他们决定转向 Go 的原因。在后端领域,Go 的好处非常明显:


1、性能更优

Go 最大的特点在于它的性能,无论在运行还是编译时,它都有突出的性能优势。它与 Java 或者 C++ 的运算速度几乎相当。在实际使用中,它比 Python 大约快 30 倍。


2、简单,简洁

阅读 Go 语言的代码明显感觉更加简洁优雅,他们已经把多个 Python 代码库用 Go 重写了,Python 的代码风格和框架往往会带有很多作者个性化的东西,Go 就好了很多。它推崇干净的代码风格,同时要求作者编写代码时严格遵守规范,禁止作者「自作聪明」,让代码更容易阅读和理解了。对于开发人员来说,能够读懂别人的代码非常重要,当然读懂自己以前写的代码也很重要。


3、原生的并发性

Go 在语言层面通过 goroutine 和 channel 支持了并发。goroutine 类似于操作系统的线程,但是它运行消耗的系统资源更小,每个 goroutine 仅需几 KB 的堆栈空间。Go 运行的时候,可以在操作系统线程上处理多路 goroutine。在 Go 中启动 goroutine 非常简单,只需通过 go 关键字添加一个函数调用,就可以启动一个 goroutine,并让该函数运行在自己的 goroutine 中。


4、语言生态

由于 Go 上手非常容易,因此组建 Go 开发团队相比其他语言来说更容易。Go 初学者可以很快入门并精通该语言。这使得雇主甚至可以招聘其他背景的开发人员,然后加以短期培训,就可以使其成为合格的 Go 工程师。


去年我曾经写过一篇 ,详细介绍了 Go 语言的历史、特性和生态,没读过的可以重新读读。事实上极客时间越来越多的后端服务也开始基于 Go 语言构建了。


以上这些原因是极客时间必须要做 Go 语言专栏的缘起,Go 语言也是我们构建 IT 技能图谱中不可或缺的一环,今天,这个专栏 —— Go 语言核心36讲 —— 终于上线了,与其他专栏不同,其中过程尤其曲折。


专栏的作者是郝林老师,在 Go 语言的生态圈里估计很多人都听说过他,或者看过他写的书《Go 并发编程实战》,他还是 GoHackers 技术社群发起人,前轻松筹大数据负责人。从履历上看郝林确实是这个专栏的最佳人选,事实上我们也是从半年前就开始合作了,并启动了写作计划。结果中途出了一些意外,郝林患上了比较严重的胰腺炎,一下子瘦了几十斤,并且在今年七月进行了一次手术。按照他的身体状况,已经很难进行日常的研发工作了,他辞掉了工作,面对各种不确定性,在手术之前做了一次大病筹款,很快获得了10万元善款。


非常幸运的是,郝林的手术比较成功,身体正在逐步恢复,于是他和极客时间的专栏也得以继续进行。在这种情况之下,郝林决定近期专职写作,并把筹到的善款退还给轻松筹平台的用户。我和泰稳、郭蕾了解了这个情况之后,决定从极客邦2018年公益基金中拿出10万元捐赠给郝林,帮助他积极治疗和专心写作。同时我们会和郝林持续合作,希望打造出业界最好的 Go 语言知识产品,同时让他获得财务上的支撑。


极客邦每年会拿出总收入的千分之三作为公益基金帮助国内的技术社区、开源项目和技术人,去年我们捐助了国内的 Vue 项目,今年的一部分基金,我们捐助了一位值得帮助的极客时间专栏作者。打造最好的技术社区和知识产品,帮助国内外的技术人成长,一直是极客邦在做的事情。无论是极客邦的公益基金,还是极客时间,都在践行这一点。


关于这个专栏,郝林老师有一个开篇保证:


我可以保证的是,如果你认真地跟我一起走完这个专栏,那么基本掌握 Go 语言是肯定的。至少,本专栏一定会成为你学习 Go 语言最重要的敲门砖和垫脚石。


这就是郝林与 Go 语言和极客时间的故事,如果你喜欢这个专栏,欢迎订阅并推荐给需要的人,这是对郝林老师最好的鼓励和支持。


以上是关于郝林和他的 Go 语言故事的主要内容,如果未能解决你的问题,请参考以下文章

Go语言2017年终总结

数学之美读书笔记——自然语言处理教父和他的弟子们

自然语言处理的教父马库斯和他的优秀弟子们

Go 语言会是未来吗?

Go语言到底是谁的?谷歌or社区?

深入浅出Go语言的库源码文件