Go 语言是互联网时代的 C 语言?

Posted GoCN

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go 语言是互联网时代的 C 语言?相关的知识,希望对你有一定的参考价值。


近日,Hacker News 发布了 2018 年 7 月的编程语言招聘趋势排行榜,其中,Go 语言已经反超 Java 进入了前三名的行列。从浅绿色的 Go 语言走势图可以看出来,企业对于 Go 语言的采用情况在逐年上升。

Go 语言是互联网时代的 C 语言?

从公司角度看,许多大厂都已经开始拥抱 Go 语言,包括以 Java 打天下的阿里巴巴,更别提深爱着 Go 语言的滴滴、今日头条、小米、奇虎 360、京东等明星公司。同时,创业公司诸如轻松筹、快手、知乎、探探、美图、猎豹移动也钟爱 Go 语言,因为 Go 语言具有入门快、程序库多、运行迅速等特点,也比较适合快速构建互联网软件产品。

说到 Go 语言的应用场景,它基本可以用在所有对于性能有较高要求的系统中,比如分布式系统、网络编程、高并发系统、服务端编程。目前流行的 Docker、Kubernetes、istio、nsq、etcd 等开源项目都是基于 Go 语言的。

对某种语言的需求也同时意味着人才的需求,2018 年的春招刚刚过去,Go 语言开发工程师的薪水也随之水涨船高。腾讯、阿里巴巴、今日头条等热门公司甚至一度在招聘条件中特别标注了掌握 Go 语言优先考虑的字样。

Go 语言是互联网时代的 C 语言?

对于 Go 语言来说,这样的火热程度仅仅是一个开始。去年是 Go 语言的 10 周年,Go 语言之父,Google 大神 Rob Pike 曾在自己的博客中说道:“Go 已经成为云计算时代的标准语言,它已经逐渐成为这个行业的主导者,特别是在中国。”七牛云 CEO 许式伟就曾一度预测:Go 是互联网时代的 C 语言。

Go 语言俨然已经成为互联网时代的 C 语言,它融合了 C 语言的小巧和 Python 语法简洁的优势,性能极高,使用 Go 语言实现一套完整的 MVC 开发框架,集成 HTTP Server 的同时,整个框架的核心代码不会超过 300 行,从这样的案例中,你就可以实际感受到 Go 的语言描述效率之高。

2015 年初,我开始帮助公司招聘 Go 程序员,我面试过的 Go 程序员已经有几百个,虽然一场面试的交流内容远不止技术能力这种硬技能,更别提只限于一门编程语言,但就事论事,在所有的应聘者当中,真正掌握 Go 语言基础知识的比例恐怕超不过 50%,而真正熟悉 Go 语言高阶技术的比例也不超过 30%。我们不能因为希望快速掌握一门语言,而忽略了稳扎稳打建立一个牢固知识体系的重要性。

我是从 2012 年底开始关注 Go 语言的,不敢自称布道师,但算得上国内比较早期的使用者。我希望通过我多年对 Go 语言的研究、实战总结、还有大量一线的面试经验,帮助 Go 语言爱好者以一种比较友好的路径去精通这门语言,当然在应聘 Go 语言相关岗位的时候,也可以更加游刃有余。


我是谁?

我是郝林,是 GoHackers 技术社群发起人,畅销榜书籍《Go 并发编程实战》的作者,前轻松筹大数据负责人。13 年软件开发从业经验,做过银行、电信软件和互联网社交产品。从 2012 年底开始关注 Go 语言,对 Go 语言和 Docker 技术都情有独钟,是 Go 语言的忠实拥护者。

我希望本专栏能帮助或推动你去做更多的实践和思考,当然我也会通过先点、后线、再面的方式帮你占领一个个重要的阵地。别的不敢说,如果你认真地跟我一起走完这个专栏,那么基本掌握 Go 语言是肯定的。为什么说基本掌握?因为软件技术,尤其是编程技术,必须经过很多的实践甚至历练才能完全掌握,这需要时间而不能速成。不过,专栏里的几十篇文章足以成为你学习 Go 语言最重要的敲门砖和垫脚石。

课程介绍

在这个专栏中,我会为你梳理出知识脉络,把 Go 语言的精华共分成 5 大模块,共 36 篇精拆细说。

  • 第一模块基础概念: 讲述 Go 语言基础中的基础,包括一些基本概念和运作机制。它们都应该是你初识 Go 语言时必须知道的,同时也有助于你理解后面的知识。

  • 第二模块数据类型和语句:Go 语言中的数据类型大都是很有特色的,你只有理解了它们,才能真正玩转 Go 语言。我将和你一起与探索它们的奥妙。另外,我也会一一揭示怎样使用各种语法和语句操纵它们。

  • 第三模块 Go 程序的测试: 很多程序员总以为测试是另一个团队的事情,其实不然。单元测试甚至接口测试其实都应该是程序员去做的,并且应该受到重视。在 Go 语言中怎样做好测试这件事?我会跟你说清楚、讲明白。

  • 第四模块标准库的用法: 虽然 Go 语言提供了自己的高效并发编程方式,但是同步方法依然不容忽视。这部分还涉及了字节和字符问题、OS 操控方法和 Web 服务写法等,这些都是我们在日常工作中很可能会用到的。

  • 第五模块 Go 语言拾遗: 这部分将会讲述一些我们使用 Go 语言做软件项目的过程中很可能会遇到的问题,至少会包含两篇文章,是附赠给广大 Go 语言爱好者的。

订阅福利

福利一:原价¥68,上新期间¥45,8 月 18 日恢复原价

福利二:每邀请以为好友购买,你可获得 12 元现金返现,你的好友可获得 6 元现金返现,多邀多得,上不封顶,立即提现(提现流程:极客时间 APP- 我的 - 分享有赏)


以上是关于Go 语言是互联网时代的 C 语言?的主要内容,如果未能解决你的问题,请参考以下文章

重磅!七国首脑会议决定制裁Go语言!

go语言的开发优势

Go语言的前景分析

Go语言概述

小猿圈之解读Go语言的特点?

Go语言迎来全迸发时代,未来全面覆盖程序开发领域丨解读2015