首次跌出“兵器谱”前三,码农不爱Java了?

createh54个月前 (02-01)技术教程31


撰文/ 陈邓新

编辑/ 孟会缘



Java,垂垂老矣。


日前,被誉为编程语言界“江湖百晓生”的TIOBE发布了2022年12月的编程语言排行榜,Python、C语言与C++位列榜单前三,而Java仅排名第四。


这是2001年TIOBE出道以来,Java首次与前三无缘。


毕竟,那些年Java双手插兜,不知什么是对手。


一时间,编程语言优劣之争再起。


那么,昔日常年霸榜的Java,为何走上了下坡路?英雄迟暮的Java,如今尚能饭否?Java的基本盘依然庞大,仍有重返巅峰的资本?


赶上好时代,也成为时代的“眼泪”


人多了就有江湖,有江湖的地方就有纷争。


据公开信息显示,编程语言的数量繁多,仅GitHub上托管的就超过300种,但主流也就几十来种。


这其中,Java被誉为“常青树”,历经风雨而不倒。


想当年,C语言以及其一脉相承的C++,成为桌面时代的技术底座,无论操作系统,或是游戏引擎,还是桌面应用,背后都有它们的身影。


用一统江湖来形容,也不为过。


然而,江湖人才辈出,不服“武林盟主”的大有人在,Java就是其中一个。


1995年,初出茅庐的Java抓住网页粗糙的痛点,从而一鸣惊人,成为江湖上冉冉升起的新星,甚至进入了微软的视线。


彼时,比尔盖茨曾感叹:“Java是迄今为止设计的最好得语言。”


然而好景不长,适合Web的编程语言不断冒出,Java并非唯一选择。


好在,Java没有气馁,在服务器端上找到了生存的土壤,成为网站后台处理数据的好帮手,这之后不断攻城略地,成为江湖上一支不可忽视的重要势力。


一名业内人士告诉锌刻度:“服务器端原本是C/C++的地盘,风刮不进雨水透不过,但当网页从静态走向动态之后,就应付不过来了,而Java在后台响应复杂的网站表现得更好。”


一言以蔽之,Java赶上了好时代。


如若不是Web大潮到来,网站如雨后春笋般冒出,Java就没有那么大的用武之地,也谈不上后来与C/C++分庭抗礼。





尽管如此,Java登上神坛还要等到移动时代。


随着智能手机的普及,移动互联网起势,逐渐成为人们的“刚需”,Java也跟着扶摇直上九万里,借助Android打开了一个新世界的“大门”。


关于此,TIOBE的排名可为佐证。


TIOBE排行榜反映的是某个编程语言的热门程度,2001年至2019年,Java一直是TOP 1的常客,中间偶有失落,但很快就回归“王座”。


这之后,Java的统治力大不如前,各路势力跃跃欲试。


事实上,Java多年以来不乏挑战者,C/C++一直虎视眈眈,Python、JavaScript、PHP等老牌玩家针锋相对,Go、Ruby等新锐力量“野心勃勃”。


万万没想到,最后的“新王”竟然是Python。


Python诞生于1990年,是一款比Java还老的编程语言,不经意间从一棵小树苗默默长成为参天大树。


正应了那句老话,老骥伏枥志在千里。


AI起势,“新王”上位


对于Java的“衰败”,张文策深有体会。


毕业于2008年的张文策,并非计算机专业出身,而是与几个要好的同学一道参加了Java培训班,才半途入行。


“学这个,就图可以多赚钱,没别的意思。”张文策告诉锌刻度迄今对培训班仍有成见,“千万不要信老师说的包就业,纯粹是一个文字游戏,包就业=包推荐就业,这中间的差别大了去了,嘿嘿!”


张文策的Java之旅并不顺利,多数公司压根没考虑这种速成品,所幸彼时需求旺盛,最终在一家工作室找到了容身之地。


尽管如此,张文策并未气馁。


在工作室积攒了一年多经验之后,张文策开启了跳槽模式,辗转多家公司,在Java上也有了一定的造诣之后,也有了一个体面的offer。


然而,张文策更忧虑了。


想再进一步,就势必进阶为高级Java工程师,但这个进阶颇为不易,除非是真的热爱代码,否则仅冲着工资去,难上加难。


对此,张文策也心知肚明:“Java都卷成麻花了,大多干的都不是Rocket Science,顶多算合格的螺丝钉。”


更为糟糕的是,甲骨文“作死”。


2009年,甲骨文收购Sun,拥有了Java版权,次年与谷歌开启了旷日持久的诉讼,直到2021年才尘埃落定。


甲骨文法务总管Dorian Daley 曾声明:“谷歌偷走了 Java 技术,并且在长达十年的时间里以一个垄断者的姿态诉诸法律。”


张文策没有等待甲骨文败诉,心中就有了一个判断:“谁敢用Java,谁就可能招惹甲骨文,那可是出了名的专利流氓,逮谁咬谁,去Java化是大势所趋。”





因而,2018年之后,张文策选择拥抱Python,投身炙手可热的AI赛道。


Forrester副总裁兼首席分析师Jeff Hammond曾表示:“Python已被证明对从事人工智能或机器学习类型的人非常非常有用!”


眼下,AI逐步起势,从梦想照进现实,赋能千行百业成为万物互联时代的基石。


譬如,当下红得发紫的AI绘画,从涂鸦走向了艺术创作,上演了一出AI与人类同台竞技的好戏,令相关从业者倍感忧虑。


此背景下,Python超越Java,也是顺理成章的事情。


“Java是被互联网炒起来的,Python是被AI炒起来的,要永远站到胜利者这一边。”张文策称。


Java是老了,又不是不能打了?


与张文策不同,魏世杰对Java仍有信心。


作为大龄一线coder,魏世杰对唱衰Java之声已感到疲惫:每隔一段时间,都有人冒出来质疑Java,是不是不行了?真的要凉了?到底啥时候死?已经过时了吗?是否真的即将被取代?


“说真的,有没有点新词,翻来覆去还是那一套,早就听腻了。”魏世杰如是说。


魏世杰告诉锌刻度,TIOBE排名指的是热度而非市场份额,Java的基本盘依然很扎实,拥趸者依然很壮观。


据Jetbrains的数据显示,2020年全球专业Java程序员约为520万人,算上主要使用其他语言但也使用Java的程序员约为680万人,其中51%在中国。




而据GitHub发布的《Octoverse 2021年度报告》显示,2020年全球程序员为5600万,其中中国共有程序员652万。


以此推算,近半数的中国程序员与Java有不解之缘。


“Java是老了,又不是不能打了,现在都更新到jdk18了。”魏世杰认为老语言Java版本不断更新、体验也在不断改善,与Python一样有生命力,“不要听外行胡说八道,看看招聘就知道了,市场不会骗人的。”


据职友集的数据显示,2022年全国Java程序员的月平均工资是19.8K,较2021年下降了3%;其中,拿20K~30K工资的占比最多,达27.7%。


以上可见,Java程序员的日子虽有所下滑,但整体还过得去。


魏世杰进一步表示:“编程语言说白了就是一个生产工具,只有效率之分、场景之分,没有高下之分,这就好比外卖不会关心骑哪个牌子的车,只关心一天到手赚多少。”


总而言之,桌面时代成就了C/C++,移动时代成就了Java,AI时代成就了Python,一个时代有一个时代的主题。


唯一不变的是,程序员永远不过时。


(应受访者要求,文中张文策、魏世杰皆为化名)

相关文章

为什么java是迄今为止最受欢迎的编程语言?

为什么java是迄今为止最受欢迎的编程语言?Java是迄今为止最好的编程语言。几乎所有的《财富》500强公司都对这个事实表示赞同,无可反驳。Java编程具有用户友好性和灵活性,是web应用程序开发人员...

作为编程语言的“java”怎么就成了咖啡的代称?

咖啡有很多名字。比如“ espresso”和“ drip”指的是咖啡的制作方法。其他的如“摩卡”和“卡布奇诺” ,指的是用咖啡制成的一种特殊饮料。还有一些是提到咖啡的起源和历史。“ Java”属于这第...

重拾JAVA:这种编程语言为什么不行了?

全文共2322字,预计学习时长6分钟为了应对新工作,笔者在过去两周一直在重新熟悉一位老朋友:JAVA。我以JAVA开启了我的软件事业,与之共行了两年半左右的时间。但是随着容器和微服务的出现,JAVA很...

编程语言排行榜:零九年七月后,Java份额终于再次超过20%

11月编程语言排行榜中,Java语言仍然在持续上涨,现在的份额已经达到了20%。 Java 有这样的成绩,是因为十月底JavaOne大会成功的举办。Java和C是看起来是两大主要的语言,这样个语言和其...

TIOBE发布4月编程语言排行榜 Java排名第一

[闽南网]- TIOBE 刚刚发布了 4 月编程语言排行榜。 Ruby 曾获得 2006 年 TIOBE “年度编程语言” ,并在 2008 年达到了热度巅峰,但之后就被新语言抢去了光芒,人气大幅下滑...

用编程语言参加战争,谁会是最强武器?C语言顿时投来不屑的目光

  自从计算机问世,各种编程语言也随之诞生,作为程序猿,Java、Python和C++是必学的三种编程语言,但有时难免疑惑:这三种语言究竟孰优孰劣?那么不妨读一读这篇文章,用一种别开生面的方式为你解答...