薪资涨幅最高!竟然是这门快“入土”的编程语言

265 篇文章 3 订阅
247 篇文章 2 订阅

不久前,StackOverflow发布了2022年度开发者调查报告。在这份覆盖了180个国家 / 地区的73000多名开发人员的报告中,在编程语言领域,出现了一些很有意思的数据。

首先,在 最常用的编程语言 中,JavaScript 再次占据主导地位。Python屈居第四,SQL则仅次于第二名的HTML /CSS。而TypeScript则将Java挤出了前五。

最常用的编程语言排行榜前十截图@StackOverflow

再者,在 最受开发者喜爱的编程语言 调查中,Rust仍旧蝉联最受欢迎的语言。 Elixir则从2021年的第四位跃升至第二位,而TypeScript从去年的第三位滑落到第四位。

最受开发者喜爱的编程语言排行榜前十@StackOverflow

然后,在薪资相关的统计中,Clojure仍然是已知最高收入的语言。另外相较去年,收入增幅较多的语言COBOL、Couchbase 、Flow和IBM Cloud/Watson。

编程语言的薪资排行榜前十@StackOverflow

其中以COBOL的提升最多,年薪中位数从52340美元跃升至75592美元。虽然在所有语言的排行中不算顶尖,但44%的涨幅确实惊人。

COBOL算得上是一门古董级的语言,年轻一点的朋友可能都没见过。事实上,会这门语言的程序员确实很少,而且基本属于程序员群体中的“高龄”之列。为何在近年来又开始有了“奇货可居”之兆呢?

  PA RT   01  

  程序员越老越值钱的语言  

COBOL于20世纪60年代面世,主要应用于财会工作、统计报表、计划编制、情报检索、人事管理等数据管理和商业数据处理领域。因此,COBOL在银行、金融、会计等行业都有广泛应用。

基于这门语言的开发时间较早,且功能强大稳定,在各种编程语言兴起的当下也没有退出历史舞台。根据路透社2017年的调查发现,全球目前仍有2200亿行COBOL代码,占据活跃代码的80%,大约95%的ATM交易处理用的都是COBOL语言。

另外,COBOL还有一大特点,那就是语法与英文很接近,换言之,敲代码犹如写作文。固然很多人觉得这样简单易懂,但对程序员来说就很不友好了。

COBOL编程@互联网

特别是对于学着Java、C语言长大的程序员来说,COBOL实在过于艰涩了。如今,无论是在课本还是在常用的编程语言排行榜中,COBOL基本已经难觅踪迹,学习COBOL的人自然也越来越少。

在相关机构的调查中,精通COBOL语言的程序员年龄普遍在50岁以上。随着老一辈程序员退休,很多机构会发现已经招不到人了。

COBOL开发人员的年龄分布@Computerworld

两年前疫情爆发时,美国失业人数暴增,申请失业补助的人蜂拥而至。新泽西州长在电视直播中召唤Cobol程序员,因为该州政府处理失业登记的系统是四十多年前使用的Cobol编写的,急需维护。但因为实在找不到人,只能公开喊话,请求COBOL开发人员支援。

当然此前也有很多人考虑过重写系统,用更现代化、更便于维护的编程语言替代COBOL。2012年,澳洲联邦银行就请了两家公司帮忙重新编写平台,结果耗时5年,花费7.5亿美金,才最终把7500万行COBOL代码转换过来。由此可见,对大部分公司来说,重写系统的代价令人望而生畏。而且从某种程度上说, 只要大型机存在,COBOL就不会消失。

仅就美国而言,在其政府和金融系统中,COBOL语言分量“极重”,但翻新成本又难以承受,这也导致了对COBOL开发人员的需求上升。就这门语言来说,程序员时常处于稀缺状态,年龄越大,经验越丰富,其薪酬也越高。此次在StackOverflow的调查报告中COBOL的薪资涨幅也证明了这一点。

不过StackOverflow的调查人群多数是美国和印度裔的程序员,中国的情况又如何呢?

  PA RT   02  

  “钱”景向好的那些语言  

在COBOL相关新闻的报道下面,有中国网友笑言:“中国程序员35岁以后就不干了,根本等不到退休后……”但也有人认为不能以偏概全,对于不在互联网行业的程序员来说,干到50岁的职业发展空间也是有的。

那么,在中国的国情下,一些快要“入土”的语言可能像COBOL一样“起死回生”吗?语言真的会和薪资直接挂钩吗?当前,哪些语言的“钱”景比较好?51CTO技术社群中,来自各行各业的程序员们也围绕这些议题展开了讨论。

1、一些快要“入土”的语言,诸如Delphi之流可能像COBOL一样“起死回生”吗?

对此,大多数人持否定态度。首先,物以稀为贵,不排除某些语言因为冷门或者小众而薪资很高;然后,COBOL的所谓“起死回生”更多是基于时代遗留的“红利”,被选择只是它当时恰好被用来做了很多系统,而更新的成本又过于高昂; 最后,语言和应用场景关联较大, 一些“过时”的语言要再次火起来需要有更适应的场景出现。

2、从长期职业发展来看,选择哪门语言,真的会和薪资直接挂钩吗?

认为“语言和薪资挂钩”的一派认为,从目前的市场需求来看,有的岗位待遇普遍就高,对应的语言薪资自然就高。比如,目前云原生很火,Go语言就相应地水涨船高。

认为“语言和薪资关联不大”的一派认为,从长远发展来看,学哪门语言不重要,做什么、在哪里做很重要。比如,即使是同一岗位,身处传统行业还是风口行业,收入肯定有差别。

不过在更多人看来,应该辩证看待。

第一,每种语言的诞生都是为了解决特定领域的需求,都有其优缺点。没有一种语言能解决所有问题。所以,选择什么语言和业务场景相关、和公司的技术栈相关。

第二,在短期内来看,选择的语言和薪资是有关联的。毕竟每门语言的学习曲线不同,入门的时候选择当下比较火的、相对简单的语言无可厚非。但要真正站住脚,还是要变成多面手,让自己更适应业务。

第三,语言和薪资的关系主要还是受应用领域的影响。比如,机器学习的发展带火了Python。对于某个领域的求职,精通特定的编程语言确实有增益。

第四,就长期职业发展而言,薪资和语言并没有直接关联关系。当资历达到一定高度,例如资深架构师,显然就不能单纯从编程语言来看,而要从更多角度来衡量。

3、当前,哪些语言的“钱”景比较好?

讨论中出现比较多的三种语言分别是Java、Go、Solidity。

  • Java

理由:应用范围广,且进入高级水平门槛高;上限虽不好说,但无论在大城市还是小城市都能找到工作。但有一点也需考量,正因为需求多,所以Java人数也多,竞争压力较大。

  • Go

理由:背靠谷歌好乘凉,后劲更足;云服务的发展会为Go带来更多的使用者;前景相对广阔,目前已经有很多中大厂在招Go的开发人员,薪资待遇比一般公司更有竞争力。

  • Solidity

理由:随着Web3应用的发展,掌握Solidity会占据一定先发优势。而且从发布的岗位薪资来看,和Web3挂钩的技术岗位薪资比其他的语言薪资普遍略胜一筹。

  PA RT   03  

  影响前途的远不止语言  

固然编程语言的选择和岗位薪资、职业发展路径有一定的关联,但更多人还是认为,学习语言不能太功利。语言的重要性不言而喻,但要想前途光明,提升发展上限,掌握一门语言远远不够。

要明确语言的工具属性。语言是武器,思维是内功。磨利武器,炼好内功才是王道。

编程语言只是一种工具,为了方便人与机器之间的沟通。更重要的还是编程思想,怎么做才会更好更便捷地达到目的。

从长远来看,语言都是工具,思维才是王道,比如遇到逻辑分叉就知道用判断,遇到重复的事情知道用循环,这跟语言没关系。从短期看,需要一门语言来进行编程思维的锻炼,真正的高手玩的是内功心法,而不是执着于哪一件兵器。

编程语言的学习过程中,可以往“一专多能”的方向发展,但关键是要锻炼自身的思维体系,在专精基础上再追求“一通百通”。

我觉得学语言既要看前/钱景,又不能太功利,大部分时候对语言的学习,也是启发个人思维的过程。另外,静态语言、动态语言,每样至少学一门吧,这样会对编程有更好的理解。

语言与语言之间的区别还是很大的,数据结构之间的差别也很大。只有你在某一门编程语言(技术)中进行了深耕并充分理解之后,才可能触类旁通。别一个语言都没精通就去学另一种语言,这完全就是耽误时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值