写一个java心得
图片来源@视觉中国
文 | 锌刻度,作者 | 陈邓新,编辑 | 孟会缘
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登上神坛还要等到移动时代。
随着智能手机的普及,移动互联网起势,逐渐成为人们的“刚需”,Java也跟着扶摇直上九万里,借助Android打开了一个新世界的“大门”。
关于此,TIOBE的排名可为佐证。
TIOBE排行榜反映的是某个编程语言的热门程度,2001年至2019年,Java一直是TOP 1的常客,中间偶有失落,但很快就回归“王座”。
这之后,Java的统治力大不如前,各路势力跃跃欲试。
事实上,Java多年以来不乏挑战者,C/C++一直虎视眈眈,Python、JavaScript、PHP等老牌玩家针锋相对,Go、Ruby等新锐力量“野心勃勃”。
万万没想到,最后的“新王”竟然是Python。
Python诞生于1990年,是一款比Java还老的编程语言,不经意间从一棵小树苗默默长成为参天大树。
正应了那句老话,老骥伏枥志在千里。
对于Java的“衰败”,张文策深有体会。
毕业于2008年的张文策,并非计算机专业出身,而是与几个要好的同学一道参加了Java培训班,才半途入行。
“学这个,就图可以多赚钱,没别的意思。”张文策告诉锌刻度迄今对培训班仍有成见,“千万不要信老师说的包就业,纯粹是一个文字游戏,包就业=包推荐就业,这中间的差别大了去了,嘿嘿!”
张文策的Java之旅并不顺利,多数公司压根没考虑这种速成品,所幸彼时需求旺盛,最终在一家工作室找到了容身之地。
尽管如此,张文策并未气馁。
在工作室积攒了一年多经验之后,张文策开启了跳槽模式,辗转多家公司,在Java上也有了一定的造诣之后,也有了一个体面的offer。
然而,张文策更忧虑了。
想再进一步,就势必进阶为高级Java工程师,但这个进阶颇为不易,除非是真的热爱代码,否则仅冲着工资去,难上加难。
对此,张文策也心知肚明:“Java都卷成麻花了,大多干的都不是Rocket Science,顶多算合格的螺丝钉。”
更为糟糕的是,甲骨文“作死”。
2009年,甲骨文收购Sun,拥有了Java版权,次年与谷歌开启了旷日持久的诉讼,直到2021年才尘埃落定。
甲骨文法务总管Dorian Daley 曾声明:“谷歌偷走了 Java 技术,并且在长达十年的时间里以一个垄断者的姿态诉诸法律。”
张文策没有等待甲骨文败诉,心中就有了一个判断:“谁敢用Java,谁就可能招惹甲骨文,那可是出了名的专利流氓,逮谁咬谁,去Java化是大势所趋。”
Java 11 的应用占比第一
因而,2018年之后,张文策选择拥抱Python,投身炙手可热的AI赛道。
Forrester副总裁兼首席分析师Jeff Hammond曾表示:“Python已被证明对从事人工智能或机器学习类型的人非常非常有用!”
眼下,AI逐步起势,从梦想照进现实,赋能千行百业成为万物互联时代的基石。
譬如,当下红得发紫的AI绘画,从涂鸦走向了艺术创作,上演了一出AI与人类同台竞技的好戏,令相关从业者倍感忧虑。
此背景下,Python超越Java,也是顺理成章的事情。
“Java是被互联网炒起来的,Python是被AI炒起来的,要永远站到胜利者这一边。”张文策称。
与张文策不同,魏世杰对Java仍有信心。
作为大龄一线coder,魏世杰对唱衰Java之声已感到疲惫:每隔一段时间,都有人冒出来质疑Java,是不是不行了?真的要凉了?到底啥时候死?已经过时了吗?是否真的即将被取代?
“说真的,有没有点新词,翻来覆去还是那一套,早就听腻了。”魏世杰如是说。
魏世杰告诉锌刻度,TIOBE排名指的是热度而非市场份额,Java的基本盘依然很扎实,拥趸者依然很壮观。
据Jetbrains的数据显示,2020年全球专业Java程序员约为520万人,算上主要使用其他语言但也使用Java的程序员约为680万人,其中51%在中国。
图源:Jetbrains
而据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,一个时代有一个时代的主题。
唯一不变的是,程序员永远不过时。
(应受访者要求,文中张文策、魏世杰皆为化名。)
鄂柯馨2054java项目总结怎么写 -
闻发翁19160873582 ______ 去百度文库,查看完整内容> 内容来自用户:教育资料库 项目总结怎么写 导语:作为一名优秀的项目工作人员,在完成工作之后写好总结真的很重要,以下是小编为大家整理的项目总结怎么写,欢迎大家阅读与借鉴! 项目总结怎么写 生产...
鄂柯馨2054求教Java Web开发学习心得
闻发翁19160873582 ______ 原生的先玩好 request respose bean等 然后jsp 再各种框架.当然基础要好 各种集合 IO流
鄂柯馨2054怎么用java编写一个程序的学习心得 -
闻发翁19160873582 ______ public class MyJava{ public static void main(String orgs[]){ System.out.println("Java 真他狼的简单!"); } }
鄂柯馨2054Java简历中工作经验应该怎么写 -
闻发翁19160873582 ______ 按真实经历去写1、从业时间:从什么时候开始做JAVA工程师,具体年份等等2、就职过的公司:从业期间就职过的公司,在公司中的职务3、做过的项目:配合上面提到的公司去写,挑相对较好的项目写,写清楚在项目中所做的工作或职能.基本是这几个方面,按你真实经历去写,内容上尽量向你求职的企业要求靠拢.文字叙述不比过多,简明阐述经历即可.
鄂柯馨2054学习编程之路心得!!说好了加分!· -
闻发翁19160873582 ______ 我是从高级语言学起的,以前什么都不懂,就是个电脑盲.开始学C#什么是面向对象之类的东西,感觉还挺好的,因为这些东西都接近人的语言,学起来很快能上手.然后学了JAVA,学了java后对类、属性、方法等东西又有了更进一步的了解...
鄂柯馨2054告诉我一个Java课程设计报告心得咋么写? -
闻发翁19160873582 ______ 就是画一下类图,顺序图,用例图是吧,可是你首先得告诉我你计算器做成什么样子?你一共搞了几个类 是吧.这些图都得和你的源码对得上号才行啊.可是现在不知道你源码写成什么样子啊..
鄂柯馨2054java实验总结 -
闻发翁19160873582 ______ 1 实验题目: Java 编程环境熟悉 1、实验目的: 了解Java的配置环境,掌握Java Application的程序结构和开发过程,了解Java Applet的功能与程序结构,掌握Java程序的调试、运行过程. 2、实验仪器: 计算机(内存>512M,硬盘剩余1G空...
鄂柯馨2054我是一名java程序员,工作经验有1年了,我想让自己的薪水变得更高,我该怎么规划我的职业和学习哪些技术 -
闻发翁19160873582 ______ 平时工作时多注意框架结构的设计;空闲时间看看专业书籍充实知识.多了解一些数据库的知识,所有公司都用得着的
鄂柯馨2054编程心得 -
闻发翁19160873582 ______ 编程 这是每个游戏编程FAQ里都有的问题.这个问题每星期都会在游戏开发论坛上被问上好几次.这是个很好的问题,但是,没人能给出简单的答案.在某些应用程序中,总有一些计算机语言优于其他语言.下面是几种用于编写游戏的主要编...
鄂柯馨2054Java简历中工作经验怎么写 -
闻发翁19160873582 ______ 错误示范: 1、java后台开发 2、前端编写 正确范例: 1、java程序开发岗位,主要负责:代码编写、数据库操作、sql语句优化、wsdl技术调用接口、生成接口等. 2、本身掌握的前端技术加上工作期间积累的html5和css3知识,会同时负责前端的实现. 3、git项目管理,包括:远程git仓库项目的创建与删除等、gitolite中项目操作权限的设置等. 4、研究并使用大数据相关的技术用于解决海量日志的分析,将数据存储到hadoop平台,然后将分析结果导入到Oracle数据库,通过Spring框架将结果进行展示.