前两天,有粉丝朋友小赵,兴冲冲地问我:“凡哥,我想学JSP,网上教程可便宜了,9块9包邮!”
我当场差点把刚喝下去的冰美式喷到他脸上。
“兄弟,JSP现在连坟头草都三米高了,你学它干嘛?给历史博物馆交简历吗?”
小赵一脸懵:“可我看招聘网站上,还有公司写‘熟悉JSP优先’啊!”
我叹了口气:“那八成是HR把十年前的JD复制粘贴了,就跟把‘熟练使用传呼机’写进岗位要求一样。”
所以今天,咱们来聊聊那些当年火得一塌糊涂,如今连骨灰盒都找不到的Java技术。
友情提示:本文可能会引起部分老程序员的“爷青回”症状,请自备纸巾。
后端-前端-测试都需要,技术大厂
机会,待遇和稳定性都还不错,感兴趣可试试~
想当年,JSP(Java Server Pages)可是Web开发界的顶流。
写个页面,<% %>里嵌Java代码,跟现在小学生写作文“有一天,我捡到了一分钱”一样顺手。
为啥当年火?
为啥现在凉了?
真实案例:
我2015年接了个老项目,用JSP+Struts1做了个OA系统。
客户找我改需求,我打开eclipse,看到几千行的<% if (user.isAdmin()) { %>,差点当场跑路。
Struts1有多经典?经典到当年面试必问:“说说Struts1的工作流程。”
现在再问,面试官可能会以为你在背历史书。
Struts1的辉煌:
Struts2的尴尬:
现在什么情况?
Spring MVC和Spring Boot出来后,Struts直接被打入冷宫。
去年我在GitHub上搜Struts2,最新的commit还是2018年,下面有条评论:“Still alive?(还活着?)”
官方回复:“Yes, but barely.(活是活着,但只剩一口气了。)”
一句话总结:
Struts就像诺基亚N95,当年砸核桃神器,现在只能当备用机,还得插张2G卡。
Hibernate当年有多牛?牛到不用写SQL,直接session.save(user)就能存数据库。
但HQL(Hibernate Query Language)这个玩意儿,现在看就像用文言文写SQL。
HQL的迷惑行为:
为啥被淘汰?
真实吐槽:
我同事小李,当年用HQL写了2000行的查询,后来数据库从MySQL迁到Oracle,HQL直接罢工。
小李一边改代码一边骂:“HQL这玩意儿,跟女朋友一样,说翻脸就翻脸,说生气就生气。”
一句话总结:
HQL就像文言文,当年觉得高大上,现在只想说:“还是原生SQL好写!”
00后可能没见过Applet,这玩意儿当年能在网页里直接跑Java代码。
比如打开一个网页,突然弹出一个“计算鸡兔同笼”的小程序,八成就是Applet干的。
Applet的巅峰:
死因:
现在去哪了?
Applet的坟头在Oracle官网的“Deprecated”页面里,和Flash Player作伴。
去年我清理旧硬盘,发现一个2015年写的Applet版“连连看”,运行时报错:java.lang.UnsupportedClassVersionError,像极了前任发来的“在吗?”
一句话总结:
Applet就像早年的Flash小游戏,现在打开只能看到“此插件不受支持”,和青春一样,回不去了。
EJB(Enterprise JavaBeans)当年是“高大上”的代名词。
一说“我在用EJB做分布式”,就像现在说“我在用区块链重构支付系统”。
EJB的“壕”点:
为啥凉了?
真实故事:
我2015年接了个银行项目,用EJB2.0写了3个月,光配置文件就堆了几百M。
后来客户说:“能不能快点上线?”我默默改成了Spring,一周搞定。
客户感动得差点给我颁锦旗:“技术选型鬼才”。
一句话总结:
EJB就像企业级开发的航空母舰,现在Spring Boot是快艇,谁还开航母去打鱼?
写到这里,突然有点感慨。
我们这一代人,见证了Java从“一次编写,到处运行”到“一次重构,到处报错”。
那些被淘汰的技术,就像年轻时的QQ农场,现在看虽然非主流,但那是我们一路跌跌撞撞走来的见证。
所以,别再纠结“要不要学JSP”了,就像别再纠结“要不要买BP机”一样。
技术会过时,但解决问题的思路不会。
今天的Spring Cloud、Kotlin、GraalVM,可能就是明天的“JSP”。
保持好奇,保持学习,保持头发(尽量)。
最后,用一句某位大佬的话结尾:“程序员最大的护城河,不是会多少框架,而是能随时推倒重来。”
共勉,我去改Bug了。
——转载自:程序员晓凡