是时候转向 Go 语言编程了 | 极客时间

Posted InfoQ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是时候转向 Go 语言编程了 | 极客时间相关的知识,希望对你有一定的参考价值。

根据 3 月 2 日,Hired 发布的《2019 软件工程师状态》报告中指出,具有 Go 经验的候选人是迄今为止最具吸引力的,平均每位求职者会收到9 份面试邀请。


二、三、四分别是 Scala、Ruby 和 TypeScript。让人费解的是 Java 仅排在第九,平均每位求职者只能收到 6.5 份邀请。C++、C 和 C# 的邀请次数更低,垫底的 R 语言使用者甚至平均只能收 3 份。其实,每门语言都有其优势,但我想跟大家聊聊 Go 语言为何受到如此多的关注。

今年恰逢 Go 语言发布 10 周年,2007 年 3 位 Google 天才程序员想通过开发一种新型的语言,解决 Google 软件开发中面临的问题:多核硬件架构、超大规模分布式计算集群、Web 开发模式导致的前所未有的开发规模和更新速度,于是 Go 语言诞生了。

这些也是互联网公司面临的普遍问题。也因此,阿里、腾讯、百度、滴滴等一线公司,几乎都在自身业务中用到了 Go 语言。对应地,招聘市场对 Go 语言工程师的需求,不论是数量还是薪资,都在与日俱增。

在去年的 QCon 北京全球软件开发大会上,我做了题为《讲给 Java / C++ 开发者的 Go 高效编程》的主题演讲,会后跟大家交流,发现许多人对 Go 语言的学习有需求和热情。而我身边有不少工程师,都开始学习和使用 Go 语言。

最早接触到 Go,是我在亚马逊(中国)担任首席架构师时。偶然的机会,我发现亚马逊的一个主流服务框架对 Go 语言提供了支持,并且列举了 Go 语言特性和由此带来服务开发的优点。那以后,我开始学习并尝试使用 Go 语言来编写服务。

我从小学四年级开始学习编程,学习和使用过很多不同的 编程语言,对于语言学习的体会就是,学习一种新的语言最重要的是了解他的特点(如:内存管理和并发)及特有的编程模型(如:函数式编程,面向对象编程等)。学会使用新语言来思考,而不要总是套用以前的习惯编程模式,表面上是使用新语言开发,实则把一种语言翻译成另一种语言来表示。

正如 C 语言程序员学习 C++ 一样,由于原有习惯思维模式的影响,很多工程师在使用 Go 语言时也会常常会陷入一些误区,会用 C 或 Java 语言的方式进行 Go 语言编程。

比如下面的这段代码,在 C / C++ 程序员的眼里是不是觉得存在严重 Bug ?可是他在 Go 程序里是完全正确的:


是时候转向 Go 语言编程了 | 极客时间

在实际的开发工作中,我发现有编程基础的工程师们,在学习 Go 语言时,往往会陷入下面的误区:

  • 大量使用共享内存的方式进行并发控制,而忽略了 Go 内置的 CSP 并发机制;

  • 常在方法调用间直接传递数组,导致大量内存复制。而 Go 的数组参数是通过值复制来传递的。

  • 总喜欢创建一个只包含接口定义的包,以处理依赖关系。而 Go 中接口的实现对接口定义是没有依赖的。

正是这些误区,导致了大家在学习和使用 Go 语言过程中的低效和不准确,而这些又很难在技术社区或书中找到答案的。为了让大家更高效掌握 Go,我在极客时间推出了《 Go 语言从入门到实战》视频课程。


是时候转向 Go 语言编程了 | 极客时间

课程会通过大量代码实例讲解 Go 语言的特性,并将 Go 与其他语言的不同点进行比较,指出它们在编程和应用上的差异,帮你少走弯路。


我是谁?

我是蔡超,目前在 Mobvista 担任技术副总裁兼首席架构师,之前的 9 年,我曾在亚马逊(中国)、惠普等世界级 IT 公司担任过首席软件架构师。

我拥有 15 年的软件开发经验,学习和使用过很多的编程语言,如:BASIC,PASIC,Perl,Python,C/C++,Java,Lisp,Haskel l 等,当然,也包括 Go 语言。 在这些语言里,Go 简单,高效及高生产力的特性,非常适合于大规模互联网服务的开发,现在我在 Mobvista 带领团队,使用 Go 语言构建了国内最大同时也是全球排名前十的移动广告平台,这个平台每天处理着来自世界各地的超过 500 亿次请求。

我能帮你做什么?

如果你有一门或多门编程语言的使用经验,希望快速掌握 Go 语言,并有效利用其特性来进行实际项目的开发,那么这门课程非常适合你。

课程分为基础篇与进阶篇两个部分:

  • 基础篇,我会对比 Go 语言的基础语法和其他其他编程语言的不同,帮你高效率的入门 Go 语言的开发。

  • 进阶篇,我会帮你分析 Go 语言在开发中的常见问题,比如并发编程模式,常见并发任务,高可用性服务设计,性能调优等等难题,帮你从入门走向实战。


是时候转向 Go 语言编程了 | 极客时间

订阅福利

1、上新优惠¥99(原价¥129),3 月 16 日恢复原价。

2、3 日内订阅的用户,可获取蔡超 QCon 上的演讲视频和 QCon 大会精选 PPT(获取方式:订阅课程的用户,点击阅读原文即可领取。)


扫码即可订阅或试读


留言区说出你在学习编程语言中踩过哪些坑?点赞前 3 名粉丝可获得极客时间 68 元任意课程,活动截止至 3 月 7 日 12:00。

点击阅读原文,领取 QCon 大会 PPT 和蔡超的演讲视频。

以上是关于是时候转向 Go 语言编程了 | 极客时间的主要内容,如果未能解决你的问题,请参考以下文章

放弃Python转向Go语言:我们找到了以下9大理由

未来 5 年将是 Go 语言的天下 | 极客大学

Go 语言的工程师,都很值钱 | 极客大学

你为何不使用Go语言呢?

如何看待国内后台开发从Java转向Go的趋势?

Go 语言项目开发实战 极客时间百度网盘