微信号:coderising

介绍:工作15年的IBM软件架构师分享编程和职场的经验和教训, 不容错过.

Java 之余,为什么我建议你学学 Go?

2019-03-07 08:30 极客时间

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



二、三、四分别是 Scala、Ruby 和 TypeScript。让人费解的是 Java 仅排在第九,平均每位求职者只能收到 6.5 份邀请。C++、C 和 C# 的邀请次数更低,垫底的 R 语言使用者甚至平均只能收 3 份。每种语言都有其优势,我们先不说这份排行的权威性,先聊聊 Go 语言为何在这几年备受关注。


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


这些问题,其实也是互联网公司面临的普遍问题。所以 BAT 等一线公司,几乎都在自身业务中用到了 Go 语言。对应地,招聘市场对 Go 语言工程师的需求,不论是数量还是薪资,都在与日俱增。


按照目前的求职激烈程度来看,多掌握一门语言的开发者也是独居竞争力的。在众多语言里,掌握 Go 语言是一个最理想的选择,它同时具备了 Python 的简易性,以及传统 C++ 和 Java 的性能,可用于所有对性能有较高要求的系统中,比如分布式系统、网络编程、高并发系统、服务端编程等,而且Go语言的语法也相对简单且实用。


最近,我在搜集 Go 语言学习资料时,发现了 QCon2017 上,当时是亚马逊(中国)首席架构师蔡超的演讲《讲给 Java / C++开发者的 Go 高效编程》,很有收获。(视频在文末有获取方式。


视频里讲出了一个普遍问题:有编程基础的开发者,在学一门新语言时(比如 Go),往往会受原有语言模型影响,表面上是使用新语言开发,实则是把一种语言翻译成另一种语言来表示。因此,学习时不得要点且低效。


那么该如何从0开始学习Go语言?


  • 找个高手,给你传道授业解惑

  • 找出现有语言和 Go 语言容易混淆的不同点,强化练习

  • 学以致用,尝试用 Go 语言开发一个小项目


最近,我发现蔡超和极客时间一起推出了《 Go 语言从入门到实战》视频课程,我看了课程的整体情况,很适合想高效掌握 Go 语言的读者,推荐给大家。正如上面所说,蔡超会在视频中采用大量代码实例讲解 Go 语言的特性,把 Go语言与其他语言的不同点进行比较,指出它们在编程和应用上的差异。


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


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

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

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


这些误区,蔡超在课程中都有很详细的讲解,只要你跟着学,就可以少走弯路,从入门到实战掌握 Go 语言。



蔡超是谁?


能在 QCon 上做演讲的嘉宾,绝对一肚子干货。蔡超有 15 年的软件开发经验,曾在亚马逊(中国)、惠普等世界级 IT 公司担任过首席软件架构师。目前在 Mobvista 担任技术副总裁兼首席架构师,带领团队用 Go 语言构建了国内最大同时也是全球排名前十的移动广告平台,这个平台每天处理着来自世界各地的超过 500 亿次请求,在 Go 语言实现项目上有着丰富的经验。


课程能带给你什么?


我看了一下课表,课程分为基础篇与进阶篇两个部分


基础篇部分,会对比 Go 语言的基础语法和其他其他编程语言的不同,这样入门 Go 语言也会更加高效。


进阶篇的部分,会帮你分析 Go 语言在开发中的常见问题,比如并发编程模式,常见并发任务,高可用性服务设计,性能调优等等难题,学习的目的就是为了实战开发,所以这些问题也是我非常期待的。


课程已经更新了一部分内容,可以免费试看一下前面的几节课程。



订阅福利

上新优惠¥99  (原价¥129)

3月16日恢复原价


扫码订阅



留言区说出你在学习编程语言中踩过哪些坑?点赞排名第一名的粉丝可获得极客时间 68 元任意课程兑换码,活动截止至3月9日18:00


彩蛋:订阅课程的用户,点击阅读原文即可领取【蔡超QCon演讲视频 + QCon 大会 PPT 合集】。


 
码农翻身 更多文章 怼天怼地怼空气的Linus 喜欢和什么样的人一起工作? Java程序员月薪30K,需要技术能力达到什么程度? 我和腾讯不得不说的故事 Spring WebFlux 要革了谁的命? 现在你们叫我大佬,其实我在大学就是渣渣
猜您喜欢 九招克服职场压力 让你的梦想,与亿万用户相连 UCloud推出UHadoop大数据处理服务 如何提高测试用例设计的测试覆盖率 今天,是阿里巴巴非常重要的一个日子