01、
真没想到,Java 竟然 24 岁了(算是 90 后)!
提起 Java,印象最深刻的当然就是:
class Cmower { public static void main(String [] args) { System.out.println("Hello Word"); } }
我闭着眼睛敲了一遍,感觉指尖与键盘又呼应到了:还是那种熟悉的感觉!
02、
我是 2008 年上的大学,专业是计算机网络,被调剂的——这间接地证明了:
第一,我当年压根就不知道报考的学校还有计算机网络专业,在这之前根本不懂互联网,唯一挂得上勾的就是用过 QQ。
第二,计算机网络专业是最不被学校重视的专业,所以才能调剂到。那时候,建筑专业、电力专业是最被看好的专业。
第三,我的高考成绩不很理想。
既然高考成绩不理想,自然对未来也就很迷茫。那时候,完全不知道自己未来能做什么,更预料不到自己会成为一名 Java 程序员,一干就干到现在。
当时教我们 Java 的老师姓冯,一个文质彬彬的中年人,带着一副金丝边框的眼镜。冯老师最引以为傲的是在大学期间建了一个个人的门户网站,网址是 www.justdojava.com。
虽然已经过去了十余年,但回想起冯老师上的第一堂课,记忆依然清晰如画,触手可摸:几乎每个同学都是懵逼的状态——Java 到底是什么玩意?我当时实在是听不懂,就和同桌一起玩起了贪吃蛇。
第二堂课直接去了机房,冯老师要求我们在电脑上安装 JDK,并配置环境变量。好几个同学直到下课也没有搞定,在命令行中敲 javac -version
,一直报下面这个错。
‘javac’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
没办法,第三堂课继续搞。班里面幸好有三四个对编程感兴趣的同学,在他们和冯老师手把手教导下,班里只剩下两三个搞不定的同学了——这几个同学对 Java 彻底死心了,于是下半学期主动转去了电力专业。
03、
大学的日子过得很快,快到很多人来不及谈个恋爱就到了分手的季节。
对编程没有兴趣的同学大多数进了工厂,还有一些回了老家。剩下的十几个同学,包括我,南下苏州进了培训班,据说培训结束后能轻轻松松地找到工作(就在金鸡湖附近)。软件园里还有一批人在做淘宝,门牌上挂着“桃花岛”、“光明顶”之类的。
培训的内容依然是和《Java 编程思想》差不多的内容,我没有多大兴趣,上课的时候就玩 NBA 2006(最喜欢的球队就是火箭了)。
大概两个月后,面试上了一家日企(富士通)。当时中日关系很紧张,父母都劝我不要去。但那时候觉得有人要就不错了,就硬着头皮去了,实习工资一个月 1200 元(有宿舍)。
面试官当时问我会不会日语,显然会啊,五十音图背得溜溜的。为啥,因为培训班培训了呗。
进了公司后,做的第一个项目竟然是计算器(用 Java 实现)。做完后就上传到了 CSDN,收获不少积分。
“充满对 Java 的热爱”?没错啊,那时候凭借 Java 找到了一份可以养活自己的工作,从此以后,再也不用伸手向面朝黄土背朝天的父母要钱了,如何能不热爱呢?
04、
我当时在富士通主要从事于 Flex 编程,我想大多数人已经忘记了这项技术。来一波回忆杀吧,Flex 是一个高效、免费的开源框架,可以构建表现力十足的 Web 应用程序。
当然了,服务器端依然用的是 Java,数据库用的 PostgreSQL,数据库映射框架用的 Hibernate。
由于公司不允许上外网,内部通讯工具 Spark 又被监控,我就私底下用 Flex 和 Java 开发了一个简易版的即时通讯工具(当时上传到了 51CTO,后来 51CTO 改版后资源就被删除了,好可惜)。
每天早上到办公室,第一件事就是在我电脑上启动服务器端。有四五个一起打魔兽的小伙伴要通过这个工具交流心得呢。
2014 年我离开富士通的时候,这款聊天工具已经从 0.1 版升级到 4.3 版了,不仅支持 Emoji 表情,还支持图片传送呢。
比较遗憾的是,那段时间里写 Flex 的 ActionScript 代码要远超 Java 代码。以致于编写 Java 代码的能力也没有随着年纪的增长而提高。
05、
2014 年回到洛阳后,公司要开发一款大宗期货交易平台,客户端用的 C#,服务器端用的 Java,我终于又重新干起了老本行。
交易平台对性能要求非常高,所以我在网络编程、并发编程、性能优化等方面下了足够多的功夫,Java 的编程水平终于有了显著的提高。
列宁说得对,“要学会游泳,就必须下水。”经过这几年来的锤炼,我终于可以拍着胸脯,自豪地说:“王二是一名称职的 Java 工程师了!”
近一两年,坊间已经开始议论纷纷,说什么 Java 堕落了,Python 崛起了。甚至很多朋友都劝我转行学 Python,不要再写 Java 方面的文章了!
但据我所知,从整体互联网开发的大环境来看,Java 语言依然在三个应用方向优势巨大:
1)大中型的企业应用中,包括复杂的大型企业软件系统、各种类型的网站;
2)桌面应用,即 C/S 应用,主要用来开发运行于不同的操作系统上的桌面应用程序;
3)移动开发应用,如 Android 开发、游戏开发等。
未来几年里,其他语言的兴起对 Java 这门老牌语言绝对会有影响,但是想要撼动 Java 的霸主位置也绝非易事。
Java 24 岁了,在日新月异的互联网世界里,算是老人了,但老而弥坚。无论这个世界如何变化,Java 依然会流淌在我的血液里,不离不弃。