社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

用什么语言的程序员最抢手?Java、Python 皆跌出前五。

极客时间 • 6 年前 • 903 次点击  

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


排在二、三、四位分别是 Scala、Ruby 和 TypeScript。Java 仅排在第九,平均每位求职者只能收到 6.5 份邀请。C++、C、C# 和 R 的邀请次数更低,垫底的 R 语言使用者甚至平均只能收 3 份。Go 语言人才成为市场中热门的语言,也和 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 程序里是完全正确的:

func foo() *string {
s := "Hello World"
return &s
}

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

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

  • 常在方法调用间直接传递数组,导致大量内存复制。而 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 语言在开发中的常见问题,比如并发编程模式,常见并发任务,高可用性服务设计,性能调优等等难题,帮你从入门走向实战。

订阅福利

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

2. 在3 日内订阅的用户,可获取 价值6800元的QCon 大会2018精选 PPT蔡超老师 QCon 上的演讲视频合集。在极客时间公众号对话框回复关键字:【Go】,即可领取!


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

∆点击上图试看或订阅

点击「阅读原文」,免费试读课程。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/29464
 
903 次点击